3rd party transfer
Handling Third-Party Payments via destination.is_self_transfer
If you are initiating a transfer on behalf of a customer and the recipient is not the customer (i.e. the funds are being paid to a third party), you must clearly indicate this in your API request.
To represent such a third-party payment scenario, set the following field in your POST /transfers
API request:
curl --location --request POST 'https://harbor-sandbox.owlpay.com/api/v1/transfer' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-KEY: {{API_KEY}}' \
--header 'Idempotency-Key: {{Idempotency-Key}}' \
--data-raw '{
...,
"destination": {
...,
"is_self_transfer": false
}
}'
If you pass
false
inis_self_transfer
If the payer and the payee are obviously different and the wrong field is passed, it may cause payment delays, and the transaction may also be cancelled.
Setting "is_self_transfer": false
informs OwlPay Harbor that the transfer involves two different parties:
- The payer (your customer, identified via
source.on_behalf_of
) - The payee (a third-party recipient specified in the
destination
object)
This field is essential for:
- Correct application of compliance logic
- Proper handling of transaction records and audit trails
- Preventing misuse of customer funds for self-transfers disguised as third-party payments
If the recipient is the same individual or business as the sender (i.e., the customer is transferring funds to themselves), then set is_self_transfer
to true
.
Updated 10 days ago