We are planning to integrate to PayPal with following requirements:
Questions:
Is Payflow Gateway suitable for our requirements?
Does Payflow Gateway has a REST based interface? How do we tokenize (card on file) without keeping card numbers with us?
If "reference transaction" is the only way to do Card on file operation, how do we overcome the expiry period (1 year) of referenced transaction?
Payflow will do this through the reference transaction feature. For a reference transaction, you will be storing the transaction ID in your database, and the next time you want to charge the customer you will use the same transaction ID instead of passing the card details again.
Usually any transaction ID at Payflow is valid for one year, as per the docs. So in order to overcome that one year restriction, you are supposed to update your database every time with the latest transaction ID.
For example, a customer placed an order today, and you store the Payflow transaction ID in the database. Now suppose you need to charge the customer again after 7 months, then you will get a new transaction ID. This time, update your database with the new transaction ID for the same customer, and this way it will be valid again for another year.
You can do reference transactions (using the returned PNREF) but, like you said, they expire in 1 year. The only workaround for this I've found is to issue a zero-dollar authorization (ZDA) to get a new PNREF but there is some confusion about this with some reports saying that the new PNREF created by the ZDA will only work for 14 days.
The online version of the Payflow Pro Guide now states that the PNREF is good for reference transactions for "12 months and possibly up to 15 months". Unfortunately, that is pretty ambiguous wording that doesn't clear up very much.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With