Download OpenAPI specification:Download
Use this API to access and manage your WePayOut payment's account data
All endpoints are available via https
and are located at api.wepayout.com.br/v1/payout/.
You can download a postman collection or a swagger file also.
Last update: 2021-02-24
With payout API you are able to manage your Deposits, Payments and Balances
Payments: All transactions that you need to send to beneficiaries.
Deposits: Manage the funds in your wallet.
Transactions: All data in your account statement.
Managing your payments.
Eletronic payments are first stored in our database with AWAITING
or RECEIVED
status.
Only payments with AWAITING
OR RECEIVED
status can be canceled.
Payments supports webhook notifications, to receive notifications please provide a valid URL in the notification_url
field.
Payments may have the following statuses:
1
- RECEIVED - Payment received and stored in our database2
- PROCESSING - Payment sent for processing3
- PAID - Payment made with success4
- REJECTED - Payment rejected by the bank5
- INREVIEW - Payment sent to our team for review6
- CANCELED- Payment canceled by Merchant or WPO7
- AWAITING - Payments awaiting balance8
- PROCESSED - Payments sent for processing and waiting confirmation from processor\11
- INVALID_DATA_INPUT - Data provided invalid or insuficcient - only available under client requestPayments in final statuses (PAID
, CANCELED
,REJECTED
) can no longer be updated.
List your bank transfer payments.
Use filters and pagination to navigate in the database.
Payments have two types: Eletronic transfer and Instant Payment
Eletronic transfer are processed only in business days. Instant payments can be processed at 24/7.
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
order_by | string Default: "id" Enum: "id" "custom_code" "merchant.name" "amount" "beneficiary.name" "processor.name" "created_at" "paid_at" "status.name" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
id | string |
beneficiary_name | string the name of a single or multiple beneficiaries separated by comma. |
merchant_id | string |
beneficiary_document | string |
processor_id | string |
status_id | string |
bank_name | string |
custom_code | string |
amount | number |
payout_type | string Enum: "u" "r" |
remitter_country | string Example: remitter_country=USA Filter records by country of remitter, in ISO3 format |
created_after | string |
created_before | string |
updated_after | string |
updated_before | string |
[- {
- "id": 111111,
- "amount": 1000,
- "source_currency": "USD",
- "source_amount": 250,
- "custom_code": "YOURAPPCODE",
- "authentication_code": "8132F296ECE9271E97A776777",
- "payment_type": "T",
- "rejection_description": "Rejected by bank",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf",
- "birthdate": "1970-01-01",
- "phone": "5541987456321",
- "city": "Curitiba",
- "postal_code": "80200-100",
- "province_code": "PR",
- "address": "Rua a Número 10"
}, - "remitter": {
- "name": "The remitter's name",
- "birthdate": "1970-01-01",
- "country": "USA"
}, - "status": {
- "id": 1,
- "name": "Received"
}, - "paid_at": "2020-01-01 23:59:59",
- "created_at": "2020-01-01 23:59:59",
- "updated_at": "2020-01-01 23:59:59",
- "description": "Payment description",
- "currency": "BRL"
}
]
Use this endpoint to send payment instructions to WePayOut
Payment object to be added
merchant_id required | number The Merchant ID, Required when you have access to more than one Merchant |
source_currency required | string Source currency |
amount required | number <double> Float with the amount to be sent |
custom_code required | string Your code |
notification_url | string We will send you a HTTP POST with a |
required | object (Beneficiary) |
object (Remitter) | |
legal_entity_name required | string The name of the payout originator. |
website required | string Website of the payout originator. |
instant_payment | number [ 0 .. 1 ] Enum: 0 1 Set |
receipt_message | string <= 140 characters The message that will be rendered in the payment's receipt |
description | string <= 140 characters This field content will be sent along with the payment to the beneficiary, available only for instant payments |
{- "amount": 1000,
- "custom_code": "YOURAPPCODE",
- "beneficiary": {
- "name": "The Name",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf"
}, - "legal_entity_name": "Your client's name",
- "website": "Your client's website"
}
{- "id": 111111,
- "amount": 1000,
- "source_currency": "USD",
- "source_amount": 250,
- "custom_code": "YOURAPPCODE",
- "authentication_code": "8132F296ECE9271E97A776777",
- "payment_type": "T",
- "rejection_description": "Rejected by bank",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf",
- "birthdate": "1970-01-01",
- "phone": "5541987456321",
- "city": "Curitiba",
- "postal_code": "80200-100",
- "province_code": "PR",
- "address": "Rua a Número 10"
}, - "remitter": {
- "name": "The remitter's name",
- "birthdate": "1970-01-01",
- "country": "USA"
}, - "status": {
- "id": 1,
- "name": "Received"
}, - "paid_at": "2020-01-01 23:59:59",
- "created_at": "2020-01-01 23:59:59",
- "updated_at": "2020-01-01 23:59:59",
- "description": "Payment description",
- "currency": "BRL"
}
{- "custom_code": "YOURAPPCODE",
- "property": "Deposit",
- "property_id": 0,
- "amount": 0,
- "currency": "string",
- "batch_code": "string",
- "date": "2019-01-01 01:00:00",
- "description": "",
- "status_id": 0,
- "status": "Received"
}
Similar to POST /payments
.
With this method you can send a payment batch, the payment batch request cannot have more than 20000 payments lenght or 20MB size.'
notification_url | string The notitifation url to send updates |
required | Array of PaymentWithPixKeyInsideBatch (object) or PaymentWithBankDetailsInsideBatch (object) |
{- "payments": [
- {
- "amount": 0.01,
- "custom_code": "unique-code1",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "document": "12533009091",
- "document_type": "cpf"
}, - "legal_entity_name": "The entity that owns the payment",
- "website": "The entity that owns the payment website",
- "instant_payment": 1
}, - {
- "amount": 0,
- "custom_code": "unique-code2",
- "beneficiary": {
- "name": "The Name",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf"
}, - "legal_entity_name": "The entity that owns the payment",
- "website": "the entity that owns the payment website",
- "instant_payment": 1
}
]
}
{- "count": 0,
- "total_amount": 0,
- "batch_code": "string"
}
{- "custom_code": "YOURAPPCODE",
- "property": "Deposit",
- "property_id": 0,
- "amount": 0,
- "currency": "string",
- "batch_code": "string",
- "date": "2019-01-01 01:00:00",
- "description": "",
- "status_id": 0,
- "status": "Received"
}
order_by | string Default: "payment.id" Enum: "payment.id" "custom_code" "merchant.name" "amount" "beneficiary.name" "processor.name" "paid_at" "status.name" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
id | string |
beneficiary_name | string the name of a single or multiple beneficiaries separated by comma. |
merchant_id | string |
beneficiary_document | string |
processor_id | string |
status_id | integer Default: 3 Value: 3 |
created_after | string |
created_before | string |
A link to download the .zip file
https://export-payouts-data.s3.amazonaws.com/temporaryfilename.zip
Get a Payment object by its ID
paymentID required | integer The ID of the payment to return. |
{- "id": 111111,
- "amount": 1000,
- "source_currency": "USD",
- "source_amount": 250,
- "custom_code": "YOURAPPCODE",
- "authentication_code": "8132F296ECE9271E97A776777",
- "payment_type": "T",
- "rejection_description": "Rejected by bank",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf",
- "birthdate": "1970-01-01",
- "phone": "5541987456321",
- "city": "Curitiba",
- "postal_code": "80200-100",
- "province_code": "PR",
- "address": "Rua a Número 10"
}, - "remitter": {
- "name": "The remitter's name",
- "birthdate": "1970-01-01",
- "country": "USA"
}, - "status": {
- "id": 1,
- "name": "Received"
}, - "paid_at": "2020-01-01 23:59:59",
- "created_at": "2020-01-01 23:59:59",
- "updated_at": "2020-01-01 23:59:59",
- "description": "Payment description",
- "currency": "BRL"
}
Payouts can only be canceled on Received status only. If you need to cancel a payment in another status it is necessary to send an email to WePayout for the evaluation if a cancelation is possible or not.
paymentID required | integer The ID of the payment to be deleted. |
{- "id": 111111,
- "amount": 1000,
- "source_currency": "USD",
- "source_amount": 250,
- "custom_code": "YOURAPPCODE",
- "authentication_code": "8132F296ECE9271E97A776777",
- "payment_type": "T",
- "rejection_description": "Rejected by bank",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf",
- "birthdate": "1970-01-01",
- "phone": "5541987456321",
- "city": "Curitiba",
- "postal_code": "80200-100",
- "province_code": "PR",
- "address": "Rua a Número 10"
}, - "remitter": {
- "name": "The remitter's name",
- "birthdate": "1970-01-01",
- "country": "USA"
}, - "status": {
- "id": 1,
- "name": "Received"
}, - "paid_at": "2020-01-01 23:59:59",
- "created_at": "2020-01-01 23:59:59",
- "updated_at": "2020-01-01 23:59:59",
- "description": "Payment description",
- "currency": "BRL"
}
Return the payment object using your custom code
customCode required | integer The CustomCode of the payment to return. |
{- "id": 111111,
- "amount": 1000,
- "source_currency": "USD",
- "source_amount": 250,
- "custom_code": "YOURAPPCODE",
- "authentication_code": "8132F296ECE9271E97A776777",
- "payment_type": "T",
- "rejection_description": "Rejected by bank",
- "beneficiary": {
- "name": "The Name",
- "pix_key": "userpixkey@user.com",
- "bank_code": "147",
- "bank_branch": "0000",
- "bank_branch_digit": "1",
- "account": "1030000",
- "account_digit": "1",
- "account_type": "CHECKING",
- "document": "12533009091",
- "document_type": "cpf",
- "birthdate": "1970-01-01",
- "phone": "5541987456321",
- "city": "Curitiba",
- "postal_code": "80200-100",
- "province_code": "PR",
- "address": "Rua a Número 10"
}, - "remitter": {
- "name": "The remitter's name",
- "birthdate": "1970-01-01",
- "country": "USA"
}, - "status": {
- "id": 1,
- "name": "Received"
}, - "paid_at": "2020-01-01 23:59:59",
- "created_at": "2020-01-01 23:59:59",
- "updated_at": "2020-01-01 23:59:59",
- "description": "Payment description",
- "currency": "BRL"
}
Manage your funding deposits.
Deposits can have two types: FEE
or PAYOUT
.FEE
deposits are used to fund your fee wallet.PAYOUT
deposits are used to fund your payout wallet.
Deposits also supports webhook notifications, to receive notifications please provide a valid URL in the notification_url
field.
Deposits can have the following statuses:
Get the list of Deposit
s that you registered in WePayOut.
You can use filters and pagination to navigate in the database.
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
order_by | string Default: "deposit.id" Enum: "deposit.id" "merchant.name" "currency.name" "sender_name" "amount" "converted_amount" "date" "status" "type" "deposit.created_at" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
merchant_name | string Name of a single or multiple merchants separated by comma |
created_after | string |
created_before | string |
merchant_id | string |
currency.name | string The name of the currency |
id | string WPO ID |
status_id | string single or multiple (separated by comma) |
[- {
- "id": 1111111,
- "status": 0,
- "amount": 1000,
- "sender_name": "Your company's name",
- "notes": "Deposit identification or information that should be considerated",
- "currency": "BRL",
- "type": "FEE",
- "date": "2019-01-01"
}
]
Deposits are used to register and track the funds that you send to WePayOut.
DepositRequest
object to be added
amount required | number |
sender_name required | string The name of the money sender |
notes required | string Your deposit notes |
currency required | string Enum: "BRL" "USD" "EUR" The value must be BRL, USD or EUR |
type required | string Enum: "FEE" "PAYOUTS" The value must be FEE or PAYOUTS |
notification_url | string We will send you a HTTP POST with a Notification Object when deposit status changes |
date required | string Date refers to the date the deposit was sent from your bank account. It is important to inform the correct deposit date to WePayout be able to follow up the order with the Broker. |
{- "amount": 1000,
- "sender_name": "Your company's name",
- "notes": "Deposit identification or information that should be considerated",
- "currency": "BRL",
- "type": "FEE",
- "date": "2019-01-01"
}
{- "id": 1111111,
- "status": 0,
- "amount": 1000,
- "sender_name": "Your company's name",
- "notes": "Deposit identification or information that should be considerated",
- "currency": "BRL",
- "type": "FEE",
- "date": "2019-01-01"
}
{- "custom_code": "YOURAPPCODE",
- "property": "Deposit",
- "property_id": 0,
- "amount": 0,
- "currency": "string",
- "batch_code": "string",
- "date": "2019-01-01 01:00:00",
- "description": "",
- "status_id": 0,
- "status": "Received"
}
You can have many merchants in your account, to get information about the merchants you have access use the methods provided below:
Merchants are the accounts that you have at WePayOut.
Use this endpoint to navigate and filter them.
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
order_by | string Default: "payment.id" Enum: "payment.id" "custom_code" "merchant.name" "amount" "beneficiary.name" "processor.name" "paid_at" "status.name" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
id | string |
franchise_name | string the name of a single or multiple franchises separated by comma. |
name | string the name of a single or multiple merchants separated by comma. |
type | string a single or multiple types of merchant separated by comma. |
legal_name | string the legal name of a single or multiple merchants separated by comma. |
legal_entity_number | string the legal entity number of a single or multiple merchants separated by comma. |
city | string single or multiple separated by comma. |
state | string single or multiple separated by comma. |
country | string single or multiple separated by comma. |
fee | string single or multiple separated by comma. |
exchange_rate | string single or multiple separated by comma. |
created_after | string |
created_before | string |
[- {
- "id": 1,
- "name": "Lorem Ipsum",
- "type": "U",
- "legal_name": "Legal Name",
- "legal_entity_number": "74027713000185",
- "city": "CITY",
- "state": "STATE",
- "country": "COUNTRY",
- "logo": "path/to/logo.jpeg",
- "fee": 8.88,
- "exchange_rate": 2.34
}
]
Get the balance of some merchant.
If you have only one merchant registered you don't need to pass the merchant_id
query string param.
merchant_id | integer The ID of the merchant, it's required for users that has access to more than one merchant |
{- "feeBalance": 100.99,
- "payoutBalance": 1000.1,
- "payoutAvailableBalance": 1000.1,
- "feeAvailableBalance": 1000.1
}
Transactions are stored in your wallet.
Each transaction has an operation_type
wich can be CREDIT
or DEBIT
.
Transactions also impact specific wallets, this information is available in the balance_type
field, wich can be FEE
or PAYOUT
.
List all transactions in the database.
Use this endpoint to paginate, filter and navigate in the database.
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
order_by | string Default: "transaction.id" Enum: "transaction.id" "merchant.name" "operation_type" "balance_type" "description" "amount" "available_balance" "balance" "transaction.created_at" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
id | string |
merchant_id | string |
source | string Enum: "payment" "deposit" "merchant_note" The entity that generate the transaction, can be Payment, Deposit or MerchantNote |
operation_type | string Enum: "D" "C" Use |
balance_type | string Enum: "F" "P"
|
created_after | string |
created_before | string |
[- {
- "id": 1,
- "amount": 1,
- "impact_balance": "Balance",
- "description": "Payout Invoice: 10",
- "balance_type": "Fee",
- "operation_type": "Debit",
- "created_at": "2020-01-01 18:00:00",
- "currency": {
- "id": 1,
- "name": "Dollars",
- "code": "USD",
- "symbol": "$"
}, - "merchant": {
- "id": 1,
- "name": "Lorem Ipsum",
- "type": "U",
- "legal_name": "Legal Name",
- "legal_entity_number": "74027713000185",
- "city": "CITY",
- "state": "STATE",
- "country": "COUNTRY",
- "logo": "path/to/logo.jpeg",
- "fee": 8.88,
- "exchange_rate": 2.34
}
}
]
Return the list of banks available
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
order_by | string Default: "bank.id" Enum: "bank.id" "code" "name" "document_name" "logo" "created_at" "updated_at" define the ordering of the query |
sort | string Default: "desc" Enum: "asc" "desc" Define the sort order, ascendant or descendant |
id | string |
code | string single or multiple separated by comma. |
name | string single or multiple separated by comma. |
document_name | string single or multiple separated by comma. |
created_before | string |
created_after | string |
updated_before | string |
updated_after | string |
[- {
- "code": "string",
- "name": "string",
- "document_name": "string",
- "logo": "string"
}
]
This feature is only available for certain merchants, please talk with our team if you want to use this API.
List exchange rates.
Use filters and pagination to navigate in the database.
To get only the available exchange rates you can filter it using the status
parameter with the value 1
.
per_page | integer >= 0 The number of items that will be displayed per page on paginated lists. |
page | integer >= 0 The current page that will be displayed on paginated lists. |
status | string Enum: "0" "1" Example: status=1 The exchange rate status, for available exchange rates use 1; for past exchange rates use 0 |
created_after | string Example: created_after=2021-01-01 Date |
created_before | string Example: created_before=2021-01-01 Date |
[- {
- "id": 0,
- "exchange_rate": 0,
- "amount": 0,
- "amount_used": 0,
- "status": 0,
- "created_at": "string",
- "updated_at": "string",
- "merchant": {
- "id": 0,
- "name": "string"
}, - "currency": {
- "id": 0,
- "code": "string"
}
}
]