I'd appreciate any help with this, I've run around in circles trying all sorts of combinations with the PayPal Api - but I'm hitting a brick wall on this one.
I'm looking to call the CreateBillingAgreement method but each time I do it fails and reports a 10001 'internal error' from paypal in the response. I have a valid token and I'm using version 84.0. I've successfully called SetupExpressCheckout and DoExpressCheckout, both of which succeed and the payment goes through. I'm setting up a future payment / pre-authorisation on the SetupExpressCheckout and the user agrees to that no problems.
Do I need to change settings on the merchant in the sandbox? Am I calling things in the wrong order maybe? (SetExpress, GetExpress, DoExpress, CreateBilling)?
I'm looking to use this billing agreement to allow a reference transaction in the future. I'm having a test account 'pay' using paypal and not forwarding any credit card details, the payment is for a digital service with no delivery (no shipping is set, no addresses or delivery costs are involved). The overall goal is to provide a one-click re-order button, whereby no details need to be entered by the customer.
I'm using the C# api in asp.net 4, or more specifically I've created Service References from the paypal sandbox wsdl and I'm using those in asp.net.
Any and all help is appreciated - thanks.
Russell.
You don't need to call CreateBillingAgreement if you're specifying billingtype MerchantInitiatedBilling
in your SetExpressCheckout and DoExpressCheckoutPayment API call. CreateBillingAgreement
is only necessary if you don't want to call DoExpressCheckoutPayment
.
If MerchantInitiatedBilling
is set, DoExpressCheckoutPayment
will already return a billing agreement ID, which you can use in DoReferenceTransaction
.
I don't have access to an example at hand, but will update this post as soon as I've found one for you.