Skip to content
Draft: the API is under development and may change before the first release

Cancel a payout that has not been sent to the provider

POST
/payouts/{payout_id}/cancel
curl --request POST \
--url https://api.pachapay.io/v1/payouts/example/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Idempotency-Key: example'

Allowed only while the payout is created. Releases the reserved funds.

payout_id
required
string
/^pout_/
Idempotency-Key
required
string
<= 255 characters

Unique key per logical operation, up to 255 characters. Keys are kept for 24 hours. Same key with a different body returns 409 idempotency_conflict, and the same key while the first request is still running returns 409 idempotency_in_progress.

The canceled payout.

Media typeapplication/json
object
id
required
string
object
required
string
Allowed value: payout
status
required

After succeeded the bank may still return the money, then the status becomes returned.

string
Allowed values: created processing succeeded failed canceled on_hold returned
amount
required
integer format: int64
fee

Our fee; reserved on top of the amount.

integer format: int64
currency
required

ISO 4217 code. Crypto assets are not accepted in this field.

string
Allowed values: CLP COP PEN MXN BRL USD
country
required

ISO 3166-1 alpha-2. Target countries for the first release are CL, CO, EC, PE, MX and BR; availability per country depends on the agreement with the payment provider.

string
Allowed values: CL CO EC PE MX BR
method_code
required
string
destination
One of: discriminator: type
Bank account
object
type
required
string
Allowed value: bank_account
bank_code
string
account_number
required
string
account_type
string
Allowed values: checking savings vista other
holder_name
required
string
holder_document
required
object
type
required
string
Allowed values: RUT CC NIT CE PASS PPT RUC DL DNI CPP CPF CNPJ RFC CURP
number
required
string
merchant_reference
string
failure_reason
string | null
refund_id

Set when the payout executes a refund.

string | null
metadata

Up to 20 string keys, values up to 500 characters. Returned as is.

object
<= 20 properties
key
additional properties
string
<= 500 characters
created_at
required
string format: date-time
succeeded_at
string | null format: date-time

Example

{
"id": "pout_0192f3b7",
"object": "payout",
"status": "created",
"currency": "CLP",
"country": "CL",
"destination": {
"type": "bank_account",
"account_type": "checking",
"holder_document": {
"type": "RUT"
}
}
}

Error. See error.code.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error invalid_state_error idempotency_error rate_limit_error api_error
code
required

Stable machine-readable code that does not change within a major version. Examples are parameter_invalid, parameter_missing, amount_out_of_range, api_key_invalid, api_key_revoked, merchant_not_active, method_not_allowed, country_not_allowed, resource_not_found, idempotency_conflict, idempotency_in_progress, invalid_state, insufficient_balance, method_not_available, blocked_payer, limit_exceeded, rate_limited, internal_error, provider_unavailable, service_unavailable.

string
message
required
string
param

Name of the offending parameter, if any.

string
request_id
required
string

Examples

Merchant not approved

{
"error": {
"type": "permission_error",
"code": "merchant_not_active",
"message": "KYB is not approved for this merchant.",
"request_id": "req_01"
}
}

Error. See error.code.

Media typeapplication/json
object
error
required
object
type
required
string
Allowed values: invalid_request_error authentication_error permission_error not_found_error invalid_state_error idempotency_error rate_limit_error api_error
code
required

Stable machine-readable code that does not change within a major version. Examples are parameter_invalid, parameter_missing, amount_out_of_range, api_key_invalid, api_key_revoked, merchant_not_active, method_not_allowed, country_not_allowed, resource_not_found, idempotency_conflict, idempotency_in_progress, invalid_state, insufficient_balance, method_not_available, blocked_payer, limit_exceeded, rate_limited, internal_error, provider_unavailable, service_unavailable.

string
message
required
string
param

Name of the offending parameter, if any.

string
request_id
required
string

Examples

Merchant not approved

{
"error": {
"type": "permission_error",
"code": "merchant_not_active",
"message": "KYB is not approved for this merchant.",
"request_id": "req_01"
}
}