skip to Main Content

First of all I beg your pardon if I am asking this question at a wrong forum. Please guide me in the right direction.

We are creating a new platform where users could sell their digital products. Now in order to monetise it. We are charging them some fee. Let’s say for explaining 5%

In order to achieve that we have tried contacting PayPal for there marketplace API access. But its limited and only available for big organisations. So we looked into other ways.

The best suitable way we found is to sign a billing contract with the sellers on our platform and then charge them on each sale accordingly.

Here’s what I’ve got so far.

  1. Create a Billing Plan (POST …/payments/billing-plans/)
  2. Create a Billing Agreement (POST …/payments/billing-agreements/)
  3. Send user to approval_url, user approves, redirected to return URL
  4. Execute agreement (POST …/payments/billing-agreements//agreement-execute)

We are saving billing agreement ID in our database.

Now as you can see on PayPal website what they explain about billing agreement.

What is a Billing Agreement and how does it work?

A Billing Agreement allows a seller to charge your PayPal account when
you purchase goods from them or use their service.

An example of this would be an agreement to pay eBay seller fees for
listing items on eBay.

Billing Agreements are different from subscriptions. With
subscriptions, a fixed amount is charged for a specified period, but
with Billing Agreements, the amount and time period aren’t fixed.

What I don’t understand now is how I can charge my first payment to the customer because there is no API call available to do so?

I was expecting something like this

/payments/billing-agreements/charge/BILLING_AGREEMENT_ID

Please guide me if I am thinking in the wrong direction?

2

Answers


  1. Indeed, PayPal has an ambiguous documentcation for its recurring payment. For your question that how to charge the first payment, you can put the amount of first payment to the setup_fee field when you create your billing plan.

    setup_fee

    The currency and amount of the set-up fee for the agreement. This fee is the initial, non-recurring payment amount that is due
    immediately when the billing agreement is created. Can be used as the
    initial amount to trigger the initial_fail_amount_action. The default
    for the amount is 0.

    Login or Signup to reply.
  2. Your first payment will charge on billing agreement start date.
    But as we know start date need to be greater than current date probably 24 hours greater,
    so if you want to charge immediately you can define set up fee when you create billing plan. When you create agreement against these plan set start date on your next payment date, so setup fee will charge immediately for first payment and on start date of billing plan will charge next payment

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search