curl --request POST \
--url https://api.uvvipay.com.br/v1/payments \
--header 'Content-Type: application/json' \
--header 'client-id: <api-key>' \
--header 'client-secret: <api-key>' \
--data '
{
"externalId": "ORDER-12345",
"amount": 7500,
"paymentMethod": "pix",
"customer": {
"name": "João da Silva",
"email": "joao@exemplo.com",
"document": {
"number": "12345678901",
"type": "cpf"
},
"phone": "11987654321",
"externalRef": "CUSTOMER-123"
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"unitPrice": 7500,
"tangible": true
}
],
"split": [
{
"recipientId": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"type": "percentage",
"amount": 30
}
],
"threeDSData": {
"cavv": "<string>",
"eci": "05",
"xid": "<string>",
"tdsver": "2.2.0",
"tdsdsxid": "<string>",
"directoryServerTransactionId": "<string>",
"ucaf": "<string>",
"paresStatus": "<string>",
"veresEnrolled": "<string>",
"authenticationResult": "<string>",
"returnCode": "<string>",
"returnMessage": "<string>",
"version": "<string>"
},
"ip": "192.168.1.100",
"invoiceDescriptor": "LOJA EXEMPLO",
"fingerprint": "<string>",
"metaData": {
"order_id": "123"
}
}
'import requests
url = "https://api.uvvipay.com.br/v1/payments"
payload = {
"externalId": "ORDER-12345",
"amount": 7500,
"paymentMethod": "pix",
"customer": {
"name": "João da Silva",
"email": "joao@exemplo.com",
"document": {
"number": "12345678901",
"type": "cpf"
},
"phone": "11987654321",
"externalRef": "CUSTOMER-123"
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"unitPrice": 7500,
"tangible": True
}
],
"split": [
{
"recipientId": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"type": "percentage",
"amount": 30
}
],
"threeDSData": {
"cavv": "<string>",
"eci": "05",
"xid": "<string>",
"tdsver": "2.2.0",
"tdsdsxid": "<string>",
"directoryServerTransactionId": "<string>",
"ucaf": "<string>",
"paresStatus": "<string>",
"veresEnrolled": "<string>",
"authenticationResult": "<string>",
"returnCode": "<string>",
"returnMessage": "<string>",
"version": "<string>"
},
"ip": "192.168.1.100",
"invoiceDescriptor": "LOJA EXEMPLO",
"fingerprint": "<string>",
"metaData": { "order_id": "123" }
}
headers = {
"client-secret": "<api-key>",
"client-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'client-secret': '<api-key>',
'client-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
externalId: 'ORDER-12345',
amount: 7500,
paymentMethod: 'pix',
customer: {
name: 'João da Silva',
email: 'joao@exemplo.com',
document: {number: '12345678901', type: 'cpf'},
phone: '11987654321',
externalRef: 'CUSTOMER-123'
},
items: [{title: 'Produto X', quantity: 1, unitPrice: 7500, tangible: true}],
split: [
{
recipientId: '5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f',
type: 'percentage',
amount: 30
}
],
threeDSData: {
cavv: '<string>',
eci: '05',
xid: '<string>',
tdsver: '2.2.0',
tdsdsxid: '<string>',
directoryServerTransactionId: '<string>',
ucaf: '<string>',
paresStatus: '<string>',
veresEnrolled: '<string>',
authenticationResult: '<string>',
returnCode: '<string>',
returnMessage: '<string>',
version: '<string>'
},
ip: '192.168.1.100',
invoiceDescriptor: 'LOJA EXEMPLO',
fingerprint: '<string>',
metaData: {order_id: '123'}
})
};
fetch('https://api.uvvipay.com.br/v1/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.uvvipay.com.br/v1/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([
'externalId' => 'ORDER-12345',
'amount' => 7500,
'paymentMethod' => 'pix',
'customer' => [
'name' => 'João da Silva',
'email' => 'joao@exemplo.com',
'document' => [
'number' => '12345678901',
'type' => 'cpf'
],
'phone' => '11987654321',
'externalRef' => 'CUSTOMER-123'
],
'items' => [
[
'title' => 'Produto X',
'quantity' => 1,
'unitPrice' => 7500,
'tangible' => true
]
],
'split' => [
[
'recipientId' => '5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f',
'type' => 'percentage',
'amount' => 30
]
],
'threeDSData' => [
'cavv' => '<string>',
'eci' => '05',
'xid' => '<string>',
'tdsver' => '2.2.0',
'tdsdsxid' => '<string>',
'directoryServerTransactionId' => '<string>',
'ucaf' => '<string>',
'paresStatus' => '<string>',
'veresEnrolled' => '<string>',
'authenticationResult' => '<string>',
'returnCode' => '<string>',
'returnMessage' => '<string>',
'version' => '<string>'
],
'ip' => '192.168.1.100',
'invoiceDescriptor' => 'LOJA EXEMPLO',
'fingerprint' => '<string>',
'metaData' => [
'order_id' => '123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"client-id: <api-key>",
"client-secret: <api-key>"
],
]);
$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.uvvipay.com.br/v1/payments"
payload := strings.NewReader("{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("client-secret", "<api-key>")
req.Header.Add("client-id", "<api-key>")
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.uvvipay.com.br/v1/payments")
.header("client-secret", "<api-key>")
.header("client-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.uvvipay.com.br/v1/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["client-secret"] = '<api-key>'
request["client-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "d398b016-3c29-41b4-afc0-bbf8c81c683c",
"status": "paid",
"amount": 15680,
"paymentMethod": "credit_card",
"createdAt": "2026-07-02T19:41:46.738Z",
"transactionId": "<string>",
"pix": {
"qrcode": "<string>"
},
"boleto": {
"url": "https://exemplo.com/boleto/abc123",
"digitableLine": "34191.79001 01043.510047 91020.150008 1 98760000012345"
},
"refusedReason": {
"category": "issuer_declined",
"code": "51",
"description": "Recusa do banco emissor"
},
"subMerchant": {
"internalId": "550e8400-e29b-41d4-a716-446655440000",
"legalName": "Loja do João LTDA",
"documentType": "cnpj",
"documentNumber": "12345678000199"
},
"split": [
{
"recipient_id": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"amount": 2500
}
],
"customer": {
"name": "Gustavo Marin",
"email": "gustavomarin616@hotmail.com",
"phone": "55996299418",
"documentNumber": "77042506049",
"documentType": "cpf",
"address": {
"zipCode": "98300000",
"street": "Major Novais",
"streetNumber": "444",
"neighborhood": "Centro",
"city": "Palmeira das Missões",
"state": "RS",
"country": "BR"
}
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"tangible": true,
"unitPrice": 15680
}
],
"externalReference": "35d29135-f14e-4695-b9ae-ccde91676a60"
}Criar pagamento
Cria um novo pagamento (PIX, cartão de crédito ou boleto). Valores sempre em centavos.
curl --request POST \
--url https://api.uvvipay.com.br/v1/payments \
--header 'Content-Type: application/json' \
--header 'client-id: <api-key>' \
--header 'client-secret: <api-key>' \
--data '
{
"externalId": "ORDER-12345",
"amount": 7500,
"paymentMethod": "pix",
"customer": {
"name": "João da Silva",
"email": "joao@exemplo.com",
"document": {
"number": "12345678901",
"type": "cpf"
},
"phone": "11987654321",
"externalRef": "CUSTOMER-123"
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"unitPrice": 7500,
"tangible": true
}
],
"split": [
{
"recipientId": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"type": "percentage",
"amount": 30
}
],
"threeDSData": {
"cavv": "<string>",
"eci": "05",
"xid": "<string>",
"tdsver": "2.2.0",
"tdsdsxid": "<string>",
"directoryServerTransactionId": "<string>",
"ucaf": "<string>",
"paresStatus": "<string>",
"veresEnrolled": "<string>",
"authenticationResult": "<string>",
"returnCode": "<string>",
"returnMessage": "<string>",
"version": "<string>"
},
"ip": "192.168.1.100",
"invoiceDescriptor": "LOJA EXEMPLO",
"fingerprint": "<string>",
"metaData": {
"order_id": "123"
}
}
'import requests
url = "https://api.uvvipay.com.br/v1/payments"
payload = {
"externalId": "ORDER-12345",
"amount": 7500,
"paymentMethod": "pix",
"customer": {
"name": "João da Silva",
"email": "joao@exemplo.com",
"document": {
"number": "12345678901",
"type": "cpf"
},
"phone": "11987654321",
"externalRef": "CUSTOMER-123"
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"unitPrice": 7500,
"tangible": True
}
],
"split": [
{
"recipientId": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"type": "percentage",
"amount": 30
}
],
"threeDSData": {
"cavv": "<string>",
"eci": "05",
"xid": "<string>",
"tdsver": "2.2.0",
"tdsdsxid": "<string>",
"directoryServerTransactionId": "<string>",
"ucaf": "<string>",
"paresStatus": "<string>",
"veresEnrolled": "<string>",
"authenticationResult": "<string>",
"returnCode": "<string>",
"returnMessage": "<string>",
"version": "<string>"
},
"ip": "192.168.1.100",
"invoiceDescriptor": "LOJA EXEMPLO",
"fingerprint": "<string>",
"metaData": { "order_id": "123" }
}
headers = {
"client-secret": "<api-key>",
"client-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'client-secret': '<api-key>',
'client-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
externalId: 'ORDER-12345',
amount: 7500,
paymentMethod: 'pix',
customer: {
name: 'João da Silva',
email: 'joao@exemplo.com',
document: {number: '12345678901', type: 'cpf'},
phone: '11987654321',
externalRef: 'CUSTOMER-123'
},
items: [{title: 'Produto X', quantity: 1, unitPrice: 7500, tangible: true}],
split: [
{
recipientId: '5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f',
type: 'percentage',
amount: 30
}
],
threeDSData: {
cavv: '<string>',
eci: '05',
xid: '<string>',
tdsver: '2.2.0',
tdsdsxid: '<string>',
directoryServerTransactionId: '<string>',
ucaf: '<string>',
paresStatus: '<string>',
veresEnrolled: '<string>',
authenticationResult: '<string>',
returnCode: '<string>',
returnMessage: '<string>',
version: '<string>'
},
ip: '192.168.1.100',
invoiceDescriptor: 'LOJA EXEMPLO',
fingerprint: '<string>',
metaData: {order_id: '123'}
})
};
fetch('https://api.uvvipay.com.br/v1/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.uvvipay.com.br/v1/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([
'externalId' => 'ORDER-12345',
'amount' => 7500,
'paymentMethod' => 'pix',
'customer' => [
'name' => 'João da Silva',
'email' => 'joao@exemplo.com',
'document' => [
'number' => '12345678901',
'type' => 'cpf'
],
'phone' => '11987654321',
'externalRef' => 'CUSTOMER-123'
],
'items' => [
[
'title' => 'Produto X',
'quantity' => 1,
'unitPrice' => 7500,
'tangible' => true
]
],
'split' => [
[
'recipientId' => '5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f',
'type' => 'percentage',
'amount' => 30
]
],
'threeDSData' => [
'cavv' => '<string>',
'eci' => '05',
'xid' => '<string>',
'tdsver' => '2.2.0',
'tdsdsxid' => '<string>',
'directoryServerTransactionId' => '<string>',
'ucaf' => '<string>',
'paresStatus' => '<string>',
'veresEnrolled' => '<string>',
'authenticationResult' => '<string>',
'returnCode' => '<string>',
'returnMessage' => '<string>',
'version' => '<string>'
],
'ip' => '192.168.1.100',
'invoiceDescriptor' => 'LOJA EXEMPLO',
'fingerprint' => '<string>',
'metaData' => [
'order_id' => '123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"client-id: <api-key>",
"client-secret: <api-key>"
],
]);
$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.uvvipay.com.br/v1/payments"
payload := strings.NewReader("{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("client-secret", "<api-key>")
req.Header.Add("client-id", "<api-key>")
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.uvvipay.com.br/v1/payments")
.header("client-secret", "<api-key>")
.header("client-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.uvvipay.com.br/v1/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["client-secret"] = '<api-key>'
request["client-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalId\": \"ORDER-12345\",\n \"amount\": 7500,\n \"paymentMethod\": \"pix\",\n \"customer\": {\n \"name\": \"João da Silva\",\n \"email\": \"joao@exemplo.com\",\n \"document\": {\n \"number\": \"12345678901\",\n \"type\": \"cpf\"\n },\n \"phone\": \"11987654321\",\n \"externalRef\": \"CUSTOMER-123\"\n },\n \"items\": [\n {\n \"title\": \"Produto X\",\n \"quantity\": 1,\n \"unitPrice\": 7500,\n \"tangible\": true\n }\n ],\n \"split\": [\n {\n \"recipientId\": \"5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f\",\n \"type\": \"percentage\",\n \"amount\": 30\n }\n ],\n \"threeDSData\": {\n \"cavv\": \"<string>\",\n \"eci\": \"05\",\n \"xid\": \"<string>\",\n \"tdsver\": \"2.2.0\",\n \"tdsdsxid\": \"<string>\",\n \"directoryServerTransactionId\": \"<string>\",\n \"ucaf\": \"<string>\",\n \"paresStatus\": \"<string>\",\n \"veresEnrolled\": \"<string>\",\n \"authenticationResult\": \"<string>\",\n \"returnCode\": \"<string>\",\n \"returnMessage\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"ip\": \"192.168.1.100\",\n \"invoiceDescriptor\": \"LOJA EXEMPLO\",\n \"fingerprint\": \"<string>\",\n \"metaData\": {\n \"order_id\": \"123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "d398b016-3c29-41b4-afc0-bbf8c81c683c",
"status": "paid",
"amount": 15680,
"paymentMethod": "credit_card",
"createdAt": "2026-07-02T19:41:46.738Z",
"transactionId": "<string>",
"pix": {
"qrcode": "<string>"
},
"boleto": {
"url": "https://exemplo.com/boleto/abc123",
"digitableLine": "34191.79001 01043.510047 91020.150008 1 98760000012345"
},
"refusedReason": {
"category": "issuer_declined",
"code": "51",
"description": "Recusa do banco emissor"
},
"subMerchant": {
"internalId": "550e8400-e29b-41d4-a716-446655440000",
"legalName": "Loja do João LTDA",
"documentType": "cnpj",
"documentNumber": "12345678000199"
},
"split": [
{
"recipient_id": "5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f",
"amount": 2500
}
],
"customer": {
"name": "Gustavo Marin",
"email": "gustavomarin616@hotmail.com",
"phone": "55996299418",
"documentNumber": "77042506049",
"documentType": "cpf",
"address": {
"zipCode": "98300000",
"street": "Major Novais",
"streetNumber": "444",
"neighborhood": "Centro",
"city": "Palmeira das Missões",
"state": "RS",
"country": "BR"
}
},
"items": [
{
"title": "Produto X",
"quantity": 1,
"tangible": true,
"unitPrice": 15680
}
],
"externalReference": "35d29135-f14e-4695-b9ae-ccde91676a60"
}Headers
Secret da credencial do merchant
ID público da credencial do merchant
Body
Identificador único do pedido no sistema do merchant
"ORDER-12345"
Valor total em centavos (mínimo 100, máximo 15000000)
100 <= x <= 150000007500
pix, credit_card, boleto "pix"
Show child attributes
Show child attributes
1Show child attributes
Show child attributes
Subconta owner da transação (opcional). Quando informada, é identificada pelo documento (CPF/CNPJ) de uma subconta já cadastrada e ativa e passa a ser a owner do split; sem este objeto, o próprio merchant é o owner.
Show child attributes
Show child attributes
Regras de divisão do valor líquido entre subcontas recebedoras. Requer os produtos PaaS e Split habilitados para o merchant; o owner é o próprio merchant, salvo se um subMerchant for informado. Os valores resolvidos retornam no campo split da resposta. Ver guia Pagamentos com Split.
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Pagamento via Apple Pay — alternativa ao bloco card (envie um ou outro, nunca ambos). Válido apenas com paymentMethod credit_card; o criptograma do token dispensa CVV e 3DS. Ver guia Apple Pay.
Show child attributes
Show child attributes
Dados do resultado 3DS para cobrança autenticada com cartão de crédito
Show child attributes
Show child attributes
"192.168.1.100"
"LOJA EXEMPLO"
{ "order_id": "123" }
Response
Pagamento criado
"d398b016-3c29-41b4-afc0-bbf8c81c683c"
waiting_payment, paid, refused, refunded, in_analysis "paid"
15680
"credit_card"
"2026-07-02T19:41:46.738Z"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Motivo da recusa (presente apenas quando status = refused). Consulte o guia Recusas de cartão para entender as categorias e como orientar o cliente.
Show child attributes
Show child attributes
Dados públicos do submerchant (owner) vinculado à transação.
Show child attributes
Show child attributes
Split resolvido da transação: valor efetivamente destinado a cada recebedor, em centavos (quando a transação possui split)
Show child attributes
Show child attributes
Dados completos do cliente (presente quando disponível).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"35d29135-f14e-4695-b9ae-ccde91676a60"

