3

Sorry, if this topic is too unspecific, but actually I did not know where ask else. If this question is not ok, please feel free to close it.

My question is, if it is possible to execute / approve multiple billing agreements from one user at one purchase at paypal?

We created a shop where the user can buy different virtual products for different periods. If a user buys 2 or more products we want to create for each product a billing agreement (i.e. 12 months). If I understand the paypal API correctly, every product (subscription / billing agreement) has to be approved independently. Is there a way to let the user approve the billing agreement once for all products at all? Or can we create a billing plan with multiple products in it?

Thanks for your help in advance.

dns_nx
  • 3,651
  • 4
  • 37
  • 66

1 Answers1

2

According to PayPal, it is not possible to accomplish this using the latest version of the SDKs. It should be possible, however, to accomplish this using the currently-deprecated SOAP version of SDKs. There are several API calls related to the creation of Billing Agreements, but two calls that are required for basic situations: SetExpressCheckout and CreateRecurringPaymentsProfile. All of the supporting documentation for this calls using the SOAP API clearly state that there is a limit of 10 billing agreements per transaction. For example, this is taken from the documentation from CreateRecurringPaymentsProfile:

RecurringPayments | ProfileDetails

(Required) You can include up to 10 recurring payments profiles per request. The order of the profile details must match the order of the billing agreement details specified in the SetExpressCheckout request.

I am in the process of attempting this with the PHP SDK using Express Checkout specifically and I will provide an update on whether I can in fact get this working.

I apologize that this is not as clear an answer as it should be, but the documentation surrounding this question provided by the developers is directly conflicting and IMO there should be some explanation of that here.

Josh Wieder
  • 186
  • 6