Mark transfer as paid
Mark a transfer as paid. This endpoint is used for manual or offline transfers where the payment was completed outside of the normal automated flow. Once marked as paid, the transfer status will be updated and the paid flag will be set to true.
Request Parametersโ
Required - 1 fieldRequired Parameters
`id`STRING(required)
Transfer ID (e.g., trsf_test_...). Provided in the URL path.
Responsesโ
200
Successful transactionTransfer marked as paid successfully. Returns the updated transfer object with paid: true.
Updated transfer attributes:
paid- Now set totruepaid_at- Timestamp when marked as paid- Other transfer attributes remain unchanged
400
Bad requestRequest validation failed. Check the error message for details.
Common causes:
- Transfer already marked as paid
- Transfer has not been sent yet
- Transfer has been deleted
- Transfer is in an invalid state
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
5xx
Server errorServer-side error occurred. These are rare but should be handled gracefully.
How to handle:
- Retry the request with exponential backoff
- Check status.omise.co for service incidents
- See Error Handling for detailed guidance
Code samplesโ
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/transfers/trsf_test_5xuy4w91xqz7d1w9u0t/mark_as_paid \
-X POST \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
transfer = Omise::Transfer.retrieve('trsf_test_5xuy4w91xqz7d1w9u0t')
transfer.mark_as_paid
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
transfer = omise.Transfer.retrieve('trsf_test_5xuy4w91xqz7d1w9u0t')
transfer.mark_as_paid()
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const transfer = await omise.transfers.markAsPaid('trsf_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$transfer = OmiseTransfer::retrieve('trsf_test_5xuy4w91xqz7d1w9u0t');
$transfer->mark_as_paid();
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Transfer transfer = client.transfers()
.markAsPaid("trsf_test_5xuy4w91xqz7d1w9u0t");
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var transfer = await client.Transfers.MarkAsPaid("trsf_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
transfer, _ := client.Transfers().MarkAsPaid("trsf_test_5xuy4w91xqz7d1w9u0t")
Error codesโ
Common Error Codesโ
| Code | Description | Resolution |
|---|---|---|
transfer_already_paid | Transfer has already been marked as paid | No action needed, transfer is already paid |
transfer_not_sent | Transfer has not been sent yet | Mark transfer as sent first or wait for it to be sent |
transfer_deleted | Transfer was deleted | Cannot mark deleted transfers as paid |
invalid_transfer_state | Transfer is in an invalid state | Check current transfer status |
API Credentials
Try it outโ
Required - 1 fields
Your IP:
...Loading...