You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To diagnose a 'Pending purchase' payment that had actually succeeded on the gateway, I had to add the 'Identifier' field to my summary fields.
I actually also re-ordered the fields to look like this:
Payment:
summary_fields:
Created.Nice: CreatedMoney: MoneyIdentifier: ReferenceGatewayTitle: GatewayPaymentStatus: Status
I initially assumed that 'TransactionReference' was what I wanted to expose in the CMS UI, but it turned out to be 'Identifier'. So the above config is confusing from a development perspective. It should make sense to a CMS user though.
So therefore, I think we should update code commenting to clarify why we have Identifier and TransactionReference (in addition to the Payment's ID). Possibly even renaming one/both of these?
The text was updated successfully, but these errors were encountered:
Well, I think it depends. You're right, that the TransactionReference is mainly used internally as a reference between our code and the Payment API and doesn't have to be displayed to the user at first glance. TransactionReference is set by the payment API, and is really important for payments that go through multiple payment steps and to uniquely identify payments.
The other important field is TransactionID, which isn't actually stored in the Payment table, but is generated by the software that is using omnipay. Eg. with SilverShop, the TransactionID is the Order reference number. I think the TransactionID is a vital part of the order process and is commonly also displayed in the backend of payment-providers. If you want to improve the payment tracking information, the TransactionID is what you want to show to the user… adding this to the Payment table is probably a good idea (just to have all the information stored in one place).
The Identifier on the other hand is just some random string we use to identify the payment on our side, and to generate the payment endpoint URLs. If the TransactionID isn't set as a parameter, then the Identifier will be used as fallback, and I guess that's why you wanted to show the Identifier in the CMS. There are already issues with using the Identifier as TransactionID though, as can be seen here: #142
To diagnose a 'Pending purchase' payment that had actually succeeded on the gateway, I had to add the 'Identifier' field to my summary fields.
I actually also re-ordered the fields to look like this:
I initially assumed that 'TransactionReference' was what I wanted to expose in the CMS UI, but it turned out to be 'Identifier'. So the above config is confusing from a development perspective. It should make sense to a CMS user though.
So therefore, I think we should update code commenting to clarify why we have Identifier and TransactionReference (in addition to the Payment's ID). Possibly even renaming one/both of these?
The text was updated successfully, but these errors were encountered: