Merchant Security Updates: Learn how security upgrades may affect your integration at the 2017-2018 Merchant Security Roadmap Microsite
Upcoming Change to PayPal Subscriptions Beginning February 1, 2018, changes will be made to the way PayPal creates, manages, and displays subscriptions. Click here for an FAQ related to the upcoming changes being made to PayPal subscriptions.
We offer subscriptions and use Reference Transactions to bill them. Each month we send the goods and afterwards we bill the customers.
Sometimes it's not possible to bill a customer and PayPal shows the error "10417" (https://developer.paypal.com/docs/classic/api/errors/#10417). This is obviously bad because we already packed the goods and it's not possible to cancel the shipping.
What's the supposed way for us to handle this?
I think one way to prevent this is that we get an IPN message when it won't be possible to bill the customer anymore. A few times we got an IPN message with the cryptic code "mp_2004", but not always and we never got a message saying it's possible to bill the customer again.
So when shipping goods before completing payments you should be creating Auths as a first step, even before shipping. A 10417 error indicates that the buyers funding sources have been declined so if you make an Auth first using the reference Transaction API it will confirm if the payment can be completed.
IPN won't help too much to be honest as 10417 can happen even on agreements that have not been cancelled, 10417 can happen on a billing agreement on day 1, but day 2 it may be ok again (e.g. in that case where the customer frees up some credit on their credit card. )
Thank you for your answer.
So is this the supposed way to do it?
1. The customer starts a subscription.
2. We create an authentication immediately.
3. Once a month when we send the order, we bill the customer and immediately create a new authentication.
But then, with regard to the original problem, what happens when PayPal suspends the user between we set up the authentication and the billing?
Also, is it possible to bill a different amount than the authenticated amount, for example when the customer sent us a message saying he wants a different subscription?