RAYO
PIX

Criar Cobranca PIX

Crie uma nova transacao PIX e receba o QR Code para pagamento.

Endpoint

POST/api/v1/transactions

Cria uma nova transacao PIX com QR Code dinamico

Corpo da Requisicao

ParametroTipoDescricao
amountobrigatorio
numberValor da transacao em centavos (ex: 500 = R$ 5,00)
paymentMethodobrigatorio
stringMetodo de pagamento. Use 'PIX'
customerobrigatorio
objectObjeto com dados do cliente
customer.nameobrigatorio
stringNome completo do cliente
customer.emailobrigatorio
stringEmail do cliente
customer.cpfCnpjobrigatorio
stringCPF ou CNPJ do cliente (apenas numeros)
externalId
stringID externo para referencia no seu sistema
expiresInMinutes
numberTempo de expiracao em minutos (padrao: 30)

Exemplo de Requisicao

cURL
bash
curl -X POST https://rayopay.com.br/api/v1/transactions \
-H "X-Client-Id: e1c98954cc404cbcb2868af9b40c7a33" \
-H "X-API-Key: sua-api-key-secreta" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"amount": 500,
"paymentMethod": "PIX",
"customer": {
"name": "João Silva",
"email": "joao@email.com",
"cpfCnpj": "12345678900"
},
"externalId": "pedido-123",
"expiresInMinutes": 30
}'

Resposta de Sucesso

Status Code: 200 OK

response.json
json
{
"data": {
"id": "f2d96218-6635-4839-81d7-9f2d5aaf4f14",
"status": "WAITING_PAYMENT",
"paymentMethod": "PIX",
"amount": 500,
"externalId": "pedido-123",
"customer": {
"name": "João Silva",
"email": "joao@email.com",
"cpfCnpj": "12345678900"
},
"pix": {
"qrCode": "00020126580014br.gov.bcb.pix0136...",
"qrCodeBase64": "data:image/png;base64,iVBORw0KGgo...",
"expiresAt": "2024-01-15T15:30:00Z"
},
"createdAt": "2024-01-15T15:00:00Z",
"updatedAt": "2024-01-15T15:00:00Z"
},
"status": 200,
"message": "Transação criada com sucesso."
}

Campos da Resposta

ParametroTipoDescricao
id
stringID unico da transacao
status
stringStatus da transacao (WAITING_PAYMENT, PAID, EXPIRED, CANCELLED)
pix.qrCode
stringCodigo PIX Copia e Cola (EMV)
pix.qrCodeBase64
stringImagem do QR Code em Base64
pix.expiresAt
stringData/hora de expiracao do QR Code (ISO 8601)

Status da Transacao

StatusDescricao
WAITING_PAYMENTAguardando pagamento
PAIDPagamento confirmado
EXPIREDQR Code expirado
CANCELLEDTransacao cancelada

Exemplos de Codigo

Node.js / JavaScript

node.js
javascript
const response = await fetch('https://rayopay.com.br/api/v1/transactions', {
method: 'POST',
headers: {
'X-Client-Id': process.env.RAYO_CLIENT_ID,
'X-API-Key': process.env.RAYO_API_KEY,
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
amount: 500,
paymentMethod: 'PIX',
customer: {
name: 'João Silva',
email: 'joao@email.com',
cpfCnpj: '12345678900'
},
externalId: 'pedido-123'
})
});
const data = await response.json();
console.log(data.data.pix.qrCode); // PIX Copia e Cola

Python

python
python
import requests
import os
response = requests.post(
'https://rayopay.com.br/api/v1/transactions',
headers={
'X-Client-Id': os.environ['RAYO_CLIENT_ID'],
'X-API-Key': os.environ['RAYO_API_KEY'],
'Content-Type': 'application/json',
'Accept': 'application/json'
},
json={
'amount': 500,
'paymentMethod': 'PIX',
'customer': {
'name': 'João Silva',
'email': 'joao@email.com',
'cpfCnpj': '12345678900'
},
'externalId': 'pedido-123'
}
)
data = response.json()
print(data['data']['pix']['qrCode']) # PIX Copia e Cola

PHP

php
php
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://rayopay.com.br/api/v1/transactions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'X-Client-Id: ' . $_ENV['RAYO_CLIENT_ID'],
'X-API-Key: ' . $_ENV['RAYO_API_KEY'],
'Content-Type: application/json',
'Accept: application/json'
],
CURLOPT_POSTFIELDS => json_encode([
'amount' => 500,
'paymentMethod' => 'PIX',
'customer' => [
'name' => 'João Silva',
'email' => 'joao@email.com',
'cpfCnpj' => '12345678900'
],
'externalId' => 'pedido-123'
])
]);
$response = curl_exec($curl);
$data = json_decode($response, true);
echo $data['data']['pix']['qrCode']; // PIX Copia e Cola

Dica

Use o campo externalId para vincular a transacao ao seu sistema interno. Isso facilita a reconciliacao e tracking dos pagamentos.