I'm testing with the PayPal sandbox right now to make sure payments go through and that I can match PayPal transactions with TB transactions after we download both via APIs.
Looking at the PayPal Sandbox Account page for a recent test transaction the PayPal Transaction ID shown is 82L077085W384201H as can be seen here:
However when looking at the TB Back Office (and in the tb_order_payment table) the saved PayPal transaction ID for this order is PAYID-LWVBSRI76V28173WT268073A:
These numbers do not match. The number shown by PayPal is the actual Transaction ID for the payment. The number shown in TB however is the PayPal Payment ID. The difference is that in PayPal one Payment ID can have multiple Transaction IDs but each Transaction ID only refers to a single transaction.
This causes a few problems:
If you know the Transaction ID you can work backwards to the Payment ID via the PayPal API but knowing the Payment ID does not mean you can isolate a single Transaction ID.
I can't yet test on the live PayPal server but at least on the Sandbox system PayPal does not support searching for transactions using the Payment ID. They do bring back a single result if you search for a Payment ID but clicking on it doesn't do anything. Just takes you back to the summary page.
You can't search your emails from PayPal with a Payment ID, but if you have your Transaction ID you can paste it into your email system and it will immediately bring up the PayPal email.
Basically the Transaction ID is what PayPal uses to refer to individual transactions (payments, refunds, partial refunds, chargebacks, etc) and it should be the ID that is saved in the TB database. It would be really ideal if both the Payment ID and the Transaction ID could be saved but if using the standard order_payment table there is only space for one.
So, IMO, it should be the Transaction ID getting saved rather than the Payment ID. If I go ahead and make this change (assuming I can figure out how to do it...) will there be any negative repercussions that I have not considered? @datakick, @lesley, any ideas?
Question
dynambee
I'm testing with the PayPal sandbox right now to make sure payments go through and that I can match PayPal transactions with TB transactions after we download both via APIs.
Looking at the PayPal Sandbox Account page for a recent test transaction the PayPal Transaction ID shown is 82L077085W384201H as can be seen here:
However when looking at the TB Back Office (and in the tb_order_payment table) the saved PayPal transaction ID for this order is PAYID-LWVBSRI76V28173WT268073A:
These numbers do not match. The number shown by PayPal is the actual Transaction ID for the payment. The number shown in TB however is the PayPal Payment ID. The difference is that in PayPal one Payment ID can have multiple Transaction IDs but each Transaction ID only refers to a single transaction.
This causes a few problems:
Basically the Transaction ID is what PayPal uses to refer to individual transactions (payments, refunds, partial refunds, chargebacks, etc) and it should be the ID that is saved in the TB database. It would be really ideal if both the Payment ID and the Transaction ID could be saved but if using the standard order_payment table there is only space for one.
So, IMO, it should be the Transaction ID getting saved rather than the Payment ID. If I go ahead and make this change (assuming I can figure out how to do it...) will there be any negative repercussions that I have not considered? @datakick, @lesley, any ideas?
Thanks in advance for any assistance.
1 answer to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now