Transfer in — complete

This API is used to confirm the iframe charge and record it for the customer.

It returns approved or declined (with the processor reason) and the transaction. Show success to the customer only after this response.

Note: The server checks that the gateway transaction matches the intent (customer, card, amount). If the charge is not finished yet it returns 409: retry after a few seconds. Calling it again returns the same result; nothing is recorded twice.

URL

{{interface_url}}/{{version}}/customers/{{customer_id}}/transfers/in/complete

Method

POST

Headers

Authorization: Bearer {access_token} (or Api-Key)

Request Parameters

FieldTypeRequiredDescription
transfer_intentStringYestransfer_intent from Transfer in — prepare.
transaction_idStringYestransaction_id returned by the iframe after submitPayment. Max 64.

URL Parameters

ParameterRequired/OptionalTypeDescription
customer_idRequiredIntegerOur customer ID (id returned by Create customer).

Example Request (cURL)

curl --location --request POST '{{interface_url}}/{{version}}/customers/{{customer_id}}/transfers/in/complete' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--data '{
  "transfer_intent": "eyJpdiI6...",
  "transaction_id": "756F11F1-E1E1-4724-A0D8-D05099D6021D"
}'

Example Response (JSON) — 200

{
  "status": "approved",
  "decline": null,
  "transaction": {
    "id": 1048821,
    "date": "2026-11-05T18:16:18Z",
    "type": "sale",
    "status": "approved",
    "amount": 5150,
    "method": {
      "type": "card",
      "brand": "visa",
      "last4": "4242"
    }
  }
}

Error Responses

Format: { "error": { "code", "name", "message", "details" } }

StatusErrorWhen
422transfer_intent_invalidIntent expired, altered or of another customer.
404transaction_not_foundThe gateway transaction does not exist.
403transfer_transaction_mismatchThe transaction does not match the intent.
409transfer_not_completedThe charge is still in progress. Retry.
502payment_gateway_unexpected_responseCould not record the payment. Retry.

Path Params
string
required
string
required
Body Params
Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here!