Migration to Payment API with Point Of Sales API

Our situation is similar to this one: Point of Sale Transaction vs Payment API

We are using SquarePointOfSaleSDK-iOS , and also V2 Retrieve transaction to get payment details after each payment completes. We need a whole Tender object.

I think it is mandatory for us to migrate to Payment API, since V2 Transaction API will be shut down in half a year, if I am correct. However, if we migrate to it now, we can’t get payment details, since through PointOfSales SDK, we can only get TransactionID.

So what is the best way to deal with this dilemma?
Maybe we should escape to V1 Transaction API, because its retirement date is not decided?

Your advice would be much appreciated.

Thanks,
Jun

Hi @Jun welcome to the forums!

There’s a few options here. First, the TransactionID is equal to OrderID, so you could retrieve the order instead of the transaction. As of last week, we now include all payment types in V2 Payments API, so if you need payment-specific information, you can retrieve the payment_id from the Order object within the tenders array.

Hello @sjosey!

Thank you very much for your prompt reply!
I have confirmed that I can get tenders using the OrderAPI.

One thing I noticed is that the OrderAPI doc says refunds can also be retrieved.
However, when I checked using curl, the response did not include refunds.

Sorry I forgot to mention this, but we also use TransactionAPI for retrieving the refunds information.
And using that info we request to refund payments, so refunds is also needed.

I’v already confirmed that the PaymentAPI contains the refund information
so I think it’s possible to get the refund information by calling the OrderAPI and the PaymentAPI sequentially
but I would like to complete the process only with the OrderAPI if possible.

If you have any schedule for adding refunds to the OrderAPI, I would really appreciate it if you could share it.
Our development schedule would depend on it.

Thanks in advance.
Jun

Orders do contain refund information, but it’s a bit different from the Transactions. When a refund is created, a new Order object is created, with a new order_id and everything (but it does have a reference to the original source_order_id). So technically you can search through orders (you won’t know the order_id of the refunded order unfortunately) and find one with refunds.

With that said, it may be easier to just continue to retrieve it from the Payments API since there’s not an easy way to retrieve the refunded order other than searching through your orders.

@sjosey
Thanks very much for your reply.

With your advice, I think we can now take actions necessary for API migrations.

Thanks.

1 Like

Thanks for sharing, it’s really helpful.