How do we identify whether the order has been paid successfully?

Previously, when we get the order.updated event, we obtain the order data and compare the sum of amount_money in each order.tender with the order.total_money, if they are equal, we regard the order has been paid successfully. However, for WALLET type tender, it has the possibility that the amounts are the same but the payment still failed. Is there a better way to identify whether the order payed by WALLET succeed or not?

The case we met, order id: 7bY7c8Yr7EAiKyZYpRSEiZvo6PNZY.

Note: we cannot use the order.state == COMPLETE, because lots of merchants do not complete the order.

:wave: That’s correct that the order won’t have a state for WALLET payments. To confirm they were successful you’ll need to call the Payments API to confirm whether it was successful or not. :slightly_smiling_face:

How do we check the payment after getting the data? We can see there is a filed: status. So we can check is it equals to COMPLETED or APPROVED?

We will soon be releasing a field on Orders called NetAmountMoneyDue which indicates the remaining balance on an order. A value of $0 means the order is fully paid. This new field should be releasing within the next month.