Create Authorization
curl --request POST \
--url https://api.sandbox.wepayout.com.br/v2/payin/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"merchant_id": 123,
"invoice": "<string>",
"notification_url": "<string>",
"payment_method": "<string>",
"amount": 123,
"currency": "<string>",
"country": "<string>",
"buyer": {},
"pix": {
"expire_date": "<string>"
},
"automatic_pix": {
"frequency": "<string>",
"amount": 123,
"minimum_authorization_amount": 123,
"authorization_amount": 123,
"type": "<string>",
"contract_id": "<string>",
"contract_name": "<string>",
"authorization_notification_url": "<string>",
"start_date": "<string>",
"number_of_cycles": 123
}
}
'import requests
url = "https://api.sandbox.wepayout.com.br/v2/payin/payments"
payload = {
"merchant_id": 123,
"invoice": "<string>",
"notification_url": "<string>",
"payment_method": "<string>",
"amount": 123,
"currency": "<string>",
"country": "<string>",
"buyer": {},
"pix": { "expire_date": "<string>" },
"automatic_pix": {
"frequency": "<string>",
"amount": 123,
"minimum_authorization_amount": 123,
"authorization_amount": 123,
"type": "<string>",
"contract_id": "<string>",
"contract_name": "<string>",
"authorization_notification_url": "<string>",
"start_date": "<string>",
"number_of_cycles": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchant_id: 123,
invoice: '<string>',
notification_url: '<string>',
payment_method: '<string>',
amount: 123,
currency: '<string>',
country: '<string>',
buyer: {},
pix: {expire_date: '<string>'},
automatic_pix: {
frequency: '<string>',
amount: 123,
minimum_authorization_amount: 123,
authorization_amount: 123,
type: '<string>',
contract_id: '<string>',
contract_name: '<string>',
authorization_notification_url: '<string>',
start_date: '<string>',
number_of_cycles: 123
}
})
};
fetch('https://api.sandbox.wepayout.com.br/v2/payin/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.wepayout.com.br/v2/payin/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchant_id' => 123,
'invoice' => '<string>',
'notification_url' => '<string>',
'payment_method' => '<string>',
'amount' => 123,
'currency' => '<string>',
'country' => '<string>',
'buyer' => [
],
'pix' => [
'expire_date' => '<string>'
],
'automatic_pix' => [
'frequency' => '<string>',
'amount' => 123,
'minimum_authorization_amount' => 123,
'authorization_amount' => 123,
'type' => '<string>',
'contract_id' => '<string>',
'contract_name' => '<string>',
'authorization_notification_url' => '<string>',
'start_date' => '<string>',
'number_of_cycles' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.wepayout.com.br/v2/payin/payments"
payload := strings.NewReader("{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.wepayout.com.br/v2/payin/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v2/payin/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Create Authorization
Create an Automatic Pix authorization
POST
/
v2
/
payin
/
payments
Create Authorization
curl --request POST \
--url https://api.sandbox.wepayout.com.br/v2/payin/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"merchant_id": 123,
"invoice": "<string>",
"notification_url": "<string>",
"payment_method": "<string>",
"amount": 123,
"currency": "<string>",
"country": "<string>",
"buyer": {},
"pix": {
"expire_date": "<string>"
},
"automatic_pix": {
"frequency": "<string>",
"amount": 123,
"minimum_authorization_amount": 123,
"authorization_amount": 123,
"type": "<string>",
"contract_id": "<string>",
"contract_name": "<string>",
"authorization_notification_url": "<string>",
"start_date": "<string>",
"number_of_cycles": 123
}
}
'import requests
url = "https://api.sandbox.wepayout.com.br/v2/payin/payments"
payload = {
"merchant_id": 123,
"invoice": "<string>",
"notification_url": "<string>",
"payment_method": "<string>",
"amount": 123,
"currency": "<string>",
"country": "<string>",
"buyer": {},
"pix": { "expire_date": "<string>" },
"automatic_pix": {
"frequency": "<string>",
"amount": 123,
"minimum_authorization_amount": 123,
"authorization_amount": 123,
"type": "<string>",
"contract_id": "<string>",
"contract_name": "<string>",
"authorization_notification_url": "<string>",
"start_date": "<string>",
"number_of_cycles": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchant_id: 123,
invoice: '<string>',
notification_url: '<string>',
payment_method: '<string>',
amount: 123,
currency: '<string>',
country: '<string>',
buyer: {},
pix: {expire_date: '<string>'},
automatic_pix: {
frequency: '<string>',
amount: 123,
minimum_authorization_amount: 123,
authorization_amount: 123,
type: '<string>',
contract_id: '<string>',
contract_name: '<string>',
authorization_notification_url: '<string>',
start_date: '<string>',
number_of_cycles: 123
}
})
};
fetch('https://api.sandbox.wepayout.com.br/v2/payin/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.wepayout.com.br/v2/payin/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'merchant_id' => 123,
'invoice' => '<string>',
'notification_url' => '<string>',
'payment_method' => '<string>',
'amount' => 123,
'currency' => '<string>',
'country' => '<string>',
'buyer' => [
],
'pix' => [
'expire_date' => '<string>'
],
'automatic_pix' => [
'frequency' => '<string>',
'amount' => 123,
'minimum_authorization_amount' => 123,
'authorization_amount' => 123,
'type' => '<string>',
'contract_id' => '<string>',
'contract_name' => '<string>',
'authorization_notification_url' => '<string>',
'start_date' => '<string>',
'number_of_cycles' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.wepayout.com.br/v2/payin/payments"
payload := strings.NewReader("{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.wepayout.com.br/v2/payin/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v2/payin/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"merchant_id\": 123,\n \"invoice\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"payment_method\": \"<string>\",\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"country\": \"<string>\",\n \"buyer\": {},\n \"pix\": {\n \"expire_date\": \"<string>\"\n },\n \"automatic_pix\": {\n \"frequency\": \"<string>\",\n \"amount\": 123,\n \"minimum_authorization_amount\": 123,\n \"authorization_amount\": 123,\n \"type\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"contract_name\": \"<string>\",\n \"authorization_notification_url\": \"<string>\",\n \"start_date\": \"<string>\",\n \"number_of_cycles\": 123\n }\n}"
response = http.request(request)
puts response.read_bodyCreate Authorization
Create an Automatic Pix authorization using the payin creation endpoint.Request Body
Merchant id of the account that is creating the payin. Mandatory if there is more than one account under your umbrella (sellers).
Your identification number, it must be unique on our database.
The url where we will submit the callbacks.
Payment method that will be used in payin.Allowed value:
pixThe charge total amount in the smallest currency unit.Min:
1Currency code of the amount (ISO 4217). Example:
BRLCountry code (ISO 3166-1 alpha-2). Example:
BRThe person you are charging object.
Pix QRCode specific instructions.
Show Pix Object
Show Pix Object
The charge expiration date. Format:
YYYY-MM-DDTHH:MM:SSAutomatic Pix configuration object.
Show Automatic Pix Object
Show Automatic Pix Object
Recurrence frequency.Allowed values:
weekly, monthly, quarterly, semiannual, annualThe fixed amount to be charged in each cycle. Required if
minimum_authorization_amount is not provided.The minimum amount for authorization. Required if
amount is not provided.The amount to be authorized. Required when
minimum_authorization_amount is provided.The type of the automatic pix.Allowed values:
immediate, optionalUnique identifier for the contract (invoice ID).
Name of the contract (invoice name).
URL to receive authorization notifications.
The start date of the automatic pix. Format:
YYYY-MM-DDNumber of cycles for the automatic pix.
Request Example
Automatic Pix
curl --location 'https://api.sandbox.wepayout.co/v2/payin/payments' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN_HERE' \
--data-raw '{
"payment_method": "pix",
"invoice": "INV-AUTOPIX-2026-0001",
"currency": "BRL",
"amount": 3000,
"country": "BR",
"buyer": {
"name": "Lucas Almeida",
"email": "lucas.almeida@example.com",
"document": {
"type": "CPF",
"number": "12345678909"
}
},
"pix": {
"expire_date": "2026-12-31T23:59:59"
},
"automatic_pix": {
"frequency": "monthly",
"amount": 3000,
"type": "immediate",
"contract_id": "CONTRACT-1234",
"contract_name": "Monthly Service",
"start_date": "2026-05-01"
}
}'
Response Example
201
{
"id": 54822,
"merchant": {
"id": 512,
"name": "Acme Sandbox Store"
},
"hash": "a7d6c5f4e3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2f8b4d3c2e1a9",
"payment_page": "https://pagar.sandbox.goboleto.com/?hash=a7d6c5f4e3a2b1c0d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2f8b4d3c2e1a9",
"our_number": "33046",
"notification_url": null,
"payment_method": "pix",
"amount": 3000,
"invoice": "INV-AUTOPIX-2026-0001",
"paid_amount": null,
"refunded_amount": null,
"currency": {
"id": 19,
"name": "Reais",
"code": "BRL",
"symbol": "R$"
},
"description": "",
"created_at": "2026-04-30T12:15:10.000000Z",
"updated_at": "2026-04-30T12:15:13.000000Z",
"buyer": {
"name": "Lucas Almeida",
"email": "lucas.almeida@example.com",
"document": {
"type": "cpf",
"number": "12345678909"
},
"address": {
"country": "BR",
"city": null,
"street": null,
"number": null,
"complement": null,
"zipcode": null,
"district": null,
"state_code": null
}
},
"originator_legal_entity": {
"name": null,
"document": null,
"helpdesk": null
},
"splits": [],
"pix": {
"expire_date": "2025-12-31T23:59:59",
"refund_mode": "FULL_REFUND_MERCHANT",
"qr_code": "00020126910014BR.GOV.BCB.PIX2569api-pix-h.bancobs2.com.br/spi/v2/11111111-2222-3333-4444-555555555555520400005303986540530.005802BR5908Wepayout6014Belo Horizonte61083038040362070503***63041234",
"end_to_end": null,
"fine": {
"percent": null,
"amount": null,
"date": null
},
"discount": {
"percent": null,
"amount": null,
"date": null
}
},
"automatic_pix": {
"authorization_id": "auth_123456",
"schedule_id": "sch_123456",
"contract_id": "CONTRACT-1234"
},
"status": {
"id": 1,
"name": "Created"
},
"status_history": [
{
"status": {
"id": 1,
"name": "Created"
},
"updated_at": "2026-04-30T12:15:13.000000Z"
}
],
"substatus": null,
"refunds": []
}
Was this page helpful?
⌘I

