Withdrawals
A withdrawal is done by transferring funds from the merchants wallet to the users wallet. The withdrawal can be done using 3 different methods.
Create, Commit, Check
Use this method if the final check is done on the platform side
ie The platform will check that the transaction was paid and successfully processed and only then updated their users wallet.
Using this method will require that the platform keeps polling xprizo in the event that there is no response from the xprizo to confirm that the transaction was created or not.
The Process is as follows:
- Create and commit the payment transaction
api/Transaction/SendPayment?action=1
- Check transaction status
- Active - approved
- Pending – pending approval
- NotFound – timed-out or cancelled
Create, Approve, Check
Use this method, if creating and approving is not done at the same time. ie the platform might create the transaction and the merchant may approve the transaction.
The Process is as follows:
- Create a pending payment transaction
api/Transaction/SendPayment
- Wait for approval callback
- Check transaction status
api/Transaction/StatusByReference
- Active - approved
- Pending – pending approval
- NotFound – timed-out or cancelled
Create, Hold, Confirm
Use this method if Xprizo will do the final check ie Xprizo checks that the transaction has been created on the platform by sending a callback and waiting for a valid response. Based on the response from the platform, Xprizo with either commit the transaction or void it.
Using this method, Xprizo will create a transaction and put it on hold. It will then send a callback to check that the platform has successfully updated the transaction their side. If Xprizo gets a positive response then the transaction will be completed. If a negative response is received or there is no response for 24 hrs then the transaction will be voided.
The Process is as follows:
- Create and post the payment transaction
api/Transaction/SendPayment?action=2
- Set payment as pending and wait for callback from Xprizo
- Respond to callback
- Check transaction status
api/Transaction/StatusByReference
- Active – approved and finalized
- Void – transaction was canceled
- Hold – transaction did not receive callback