Peach Payments recommends that merchants log authentication.entityID values in their system for all successful payments.
In a typical payment request, merchants provide us with the parameter:
A sample checkoutID request is as follows:
curl https://test.oppwa.com/v1/checkouts \ -d "authentication.userId=ff808081392eb9b201392f0b6d0200a3" \ -d "authentication.password=wCJFfx6F" \ -d "authentication.entityId=ff808081392eb9b201392f0bfe3800a9" \ -d "paymentType=DB" \ -d "amount=50.99" \ -d "currency=ZAR"
Now some merchants may have been allocated multiple entityID values. This is true for the following scenarios:
- Merchants processing subscription / recurring payments
- Merchants with Single Click payments enabled
- Merchants transacting in multiple countries
- Merchants accepting multiple payment methods (e.g. Cards and PayPal)
Such merchants should store the entityID value used to execute a payment.
The reason is that any future transactions such as a REFUND request or CAPTURE request MUST be sent to the same entityID as the original transaction.
This is needed to ensure that funds are applied to the correct merchant accounts and bank account.
If you send a REFUND request to a different entityID then you will receive the following error:
700.400.700=initial and referencing channel-ids do not match