Update a transfer
Update transfer status information. This endpoint is primarily used by webhook callbacks to update transfer success/failure status and related details.
API Credentials
Request Parametersโ
Required - 1 fieldRequired Parameters
`id`STRING(required)
Transfer ID (e.g., trsf_test_...). Provided in the URL path.
Additional - 3 fieldsAdditional Parameters
`success`BOOLEAN(optional)
Indicates whether the transfer was successful or failed.
`failure_code`STRING(optional)
Code indicating the type of failure. Required if success is false.
`failure_message`STRING(optional)
Human-readable description of the failure. Provides additional context about what went wrong.
Responsesโ
200
Successful transactionTransfer updated successfully. Returns the updated transfer object.
Updated transfer attributes:
failure_code- Error code if transfer failedfailure_message- Human-readable failure description- Other transfer attributes remain unchanged
400
Bad requestRequest validation failed. Check the error message for details.
Common causes:
- Invalid
failure_codevalue - Missing
failure_codewhen success is false - Cannot update already completed transfer
401
UnauthorizedAuthentication failed. Invalid or missing API key.
Common causes:
- Missing Authorization header
- Invalid secret key
- Using public key instead of secret key
- Incorrect HTTP Basic Auth format
404
Not foundTransfer not found.
Common causes:
- Invalid transfer ID
- Transfer does not belong to your account
- Transfer has been deleted
- Mixing test and live mode IDs
Code samplesโ
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/transfers/trsf_test_5xuy4w91xqz7d1w9u0t \
-X PATCH \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "success=false" \
-d "failure_code=insufficient_balance" \
-d "failure_message=Insufficient funds to complete the transfer"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
transfer = Omise::Transfer.update('trsf_test_5xuy4w91xqz7d1w9u0t', {
success: false,
failure_code: 'insufficient_balance',
failure_message: 'Insufficient funds to complete the transfer'
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
transfer = omise.Transfer.update('trsf_test_5xuy4w91xqz7d1w9u0t',
success=False,
failure_code='insufficient_balance',
failure_message='Insufficient funds to complete the transfer'
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const transfer = await omise.transfers.update('trsf_test_5xuy4w91xqz7d1w9u0t', {
success: false,
failure_code: 'insufficient_balance',
failure_message: 'Insufficient funds to complete the transfer'
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$transfer = OmiseTransfer::retrieve('trsf_test_5xuy4w91xqz7d1w9u0t');
$transfer->update([
'success' => false,
'failure_code' => 'insufficient_balance',
'failure_message' => 'Insufficient funds to complete the transfer'
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Transfer transfer = client.transfers()
.update("trsf_test_5xuy4w91xqz7d1w9u0t")
.success(false)
.failureCode("insufficient_balance")
.failureMessage("Insufficient funds to complete the transfer")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var transfer = await client.Transfers.Update("trsf_test_5xuy4w91xqz7d1w9u0t", new UpdateTransferRequest
{
Success = false,
FailureCode = "insufficient_balance",
FailureMessage = "Insufficient funds to complete the transfer"
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
transfer, _ := client.Transfers().Update("trsf_test_5xuy4w91xqz7d1w9u0t", &operations.UpdateTransfer{
Success: false,
FailureCode: "insufficient_balance",
FailureMessage: "Insufficient funds to complete the transfer",
})
Error codesโ
Failure Codesโ
| Code | Description |
|---|---|
insufficient_balance | Not enough funds to complete transfer |
invalid_recipient | Recipient ID not found or invalid |
transfers_suspended | Transfers disabled on account |
transfer_deleted | Transfer was deleted |
transfer_sent | Transfer already sent |
transfer_failed | Transfer processing failed |
Try it outโ
Required - 1 fields
Additional - 3 fields