Skip to content
Last updated

Alternative to webhooks

If you're not using webhooks, you'll need to use GET /token-requests/{tokenRequestId}/result to obtain the transferId in order to call the GET /transfers/{transferId}.

  1. TPP -> Token.io - On receiving the callback from Token.io the TPP first checks the token request status using the GET /token-requests/{tokenRequestId}/result call.

  2. Token.io -> TPP - Token.io responds to the GET /token-requests/{tokenRequestId}/result call. If the token-request status is PROCESSED, the response should contain the transferId. The TPP will keep calling the GET /token-requests/{tokenRequestId}/result endpoint until the status has moved from PENDING to PROCESSED and the transferId has been received.

    A REJECTED token-request status means that the request has been rejected by either Token.io or the bank, and the user was not asked to authorize the payment.

  3. TPP -> Token.io - Once the response to the GET /token-requests/{tokenRequestId}/result call contains the transferId, the TPP uses the GET /transfers/{transferId} request.

  4. Token.io -> TPP - Token.io confirms the payment status in the GET /transfers/{transferId} response.

If the status is non-final, e.g., PROCESSING, the TPP should use a polling call (GET /transfers/{transferId}) every 15 mins.

Refer to the Token.io API Reference for additional details.

If you have any feedback about the developer documentation, please contact devdocs@token.io