Verify Transfer
You can make a GET request to the VerifyTransferAPI api/v1/transfers/verify/{transferId}
endpoint using the transfer ID to check the status of your transfer.
Verb | GET |
---|---|
URL | {{baseUrl}}/api/v1/transfers/verify/{transferId} |
Sample Request to verify transfer:
curl --request GET \
--url https://api.sandbox.getanchor.co/api/v1/transfers/verify/169529343584418-anc_trsf \
--header 'accept: application/json' \
--header 'x-anchor-key: <API Key>'
{
"data": {
"id": "169529343584418-anc_trsf",
"type": "NIP_TRANSFER",
"attributes": {
"createdAt": "2023-09-21T10:50:36",
"reason": "Test Transfer",
"amount": 1000,
"currency": "NGN",
"status": "COMPLETED"
},
"relationships": {
"counterParty": {
"data": {
"id": "16942577770351-anc_cp",
"type": "CounterParty"
}
},
"account": {
"data": {
"id": "16922123768364-anc_acc",
"type": "DepositAccount"
}
},
"subAccount": {
"data": {
"id": "16922609921350-anc_subacc",
"type": "SubAccount"
}
},
"customer": {
"data": {
"id": "16922123736510-anc_bus_cst",
"type": "BusinessCustomer"
}
}
}
}
}
Transfer States
Transfers have the following states:
State | Description |
---|---|
pending | Pending represents the initial status of a transfer as soon as it is initiated. It serves as a temporary state that typically updates to "Successful" within seconds, or in certain instances, it may update to "Failed.” |
completed | Completed indicates that a transfer has was successful without any issues. The majority of transfers achieve this status within seconds. |
failed | A transfer marked as "Failed" signifies that it has not been completed due to various factors. Possible reasons include issues with the recipient's account, recipient's bank account not reachable or errors during the transfer process. |
reversed | This indicates the status of a transfer that was initially successful but had to be reversed and returned to the sending account balance. due to its inability to be processed in the recipient's bank account. |
When a transfer is in pending state, you can call the verify transfer endpoint, if we have sent the request to the provider for processing, this endpoint will query the provider for the status and update the transfer with that status. If the transfer hasn't been sent, it will return as pending.
When you initiate a transfer, it will take a few seconds or minutes for the transfer to complete processing. Which is why we advice you to listen to the webhook events.
Transfer related Webhook Events
Transfer Related Webhook Events:
Webhook Event | Description |
---|---|
nip.transfer.initiated | Generated when Nip Transfer is initiated. |
nip.transfer.successful | Generated when Nip Transfer is successful. |
nip.transfer.failed | Generated when Nip Transfer fails. |
nip.incomingTransfer.received | Generated when Incoming Transfer is Received. You don't need the event. Listen to payment.settled and payment.received events instead. |
book.transfer.initiated | This event is generated when a Book Transfer is initiated. |
book.transfer.successful | Generated when Book Transfer is successful. |
book.transfer.failed | This is generated when a Book Transfer fails. |
Updated about 1 month ago