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
integer
Merchant id of the account that is creating the payin. Mandatory if there is more than one account under your umbrella (sellers).
string
required
Your identification number, it must be unique on our database.
string
The url where we will submit the callbacks.
string
required
Payment method that will be used in payin.Allowed value:
pixinteger
required
The charge total amount in the smallest currency unit.Min:
1string
required
Currency code of the amount (ISO 4217). Example:
BRLstring
required
Country code (ISO 3166-1 alpha-2). Example:
BRobject
required
The person you are charging object.
object
required
Pix QRCode specific instructions.
Show Pix Object
Show Pix Object
string
required
The charge expiration date. Format:
YYYY-MM-DDTHH:MM:SSobject
required
Automatic Pix configuration object.
Show Automatic Pix Object
Show Automatic Pix Object
string
required
Recurrence frequency.Allowed values:
weekly, monthly, quarterly, semiannual, annualinteger
The fixed amount to be charged in each cycle. Required if
minimum_authorization_amount is not provided.integer
The minimum amount for authorization. Required if
amount is not provided.integer
The amount to be authorized. Required when
minimum_authorization_amount is provided.string
required
The type of the automatic pix.Allowed values:
immediate, optionalstring
required
Unique identifier for the contract (invoice ID).
string
required
Name of the contract (invoice name).
string
URL to receive authorization notifications.
string
required
The start date of the automatic pix. Format:
YYYY-MM-DDinteger
Number 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

