Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Identifier, and/or TransactionReference to summary_fields #169

Open
jedateach opened this issue Jun 25, 2017 · 1 comment
Open

Add Identifier, and/or TransactionReference to summary_fields #169

jedateach opened this issue Jun 25, 2017 · 1 comment

Comments

@jedateach
Copy link
Contributor

jedateach commented Jun 25, 2017

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: Created
        Money: Money
        Identifier: Reference
        GatewayTitle: Gateway
        PaymentStatus: 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?

@bummzack
Copy link
Collaborator

bummzack commented Jun 25, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants