curl --request GET \
--url https://api.lbpay.example.com/v1/remittances/{remittanceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lbpay.example.com/v1/remittances/{remittanceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.lbpay.example.com/v1/remittances/{remittanceId}', 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.lbpay.example.com/v1/remittances/{remittanceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lbpay.example.com/v1/remittances/{remittanceId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lbpay.example.com/v1/remittances/{remittanceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lbpay.example.com/v1/remittances/{remittanceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"remittanceId": "<string>",
"type": "WITHDRAWAL",
"externalId": "<string>",
"quoteId": "<string>",
"status": "PROCESSING",
"senderId": "<string>",
"beneficiaryId": "<string>",
"source": {
"currency": "USD",
"amount": "1000.00"
},
"destination": {
"currency": "USD",
"amount": "1000.00"
},
"fx": {
"status": "PENDING",
"fxContractId": "<string>",
"rate": "5.43210000",
"contractedAt": "2023-11-07T05:31:56Z"
},
"funding": {
"status": "PENDING",
"mode": "PREFUNDED",
"inventoryId": "<string>",
"confirmedAt": "2023-11-07T05:31:56Z",
"attempts": 1,
"lastFailureAt": "2023-11-07T05:31:56Z"
},
"payout": {
"status": "PENDING",
"transactionId": "<string>",
"amount": {
"currency": "USD",
"amount": "1000.00"
},
"attempts": 1,
"failureCode": "PIX_KEY_OWNER_MISMATCH",
"completedAt": "2023-11-07T05:31:56Z",
"returnedAt": "2023-11-07T05:31:56Z"
},
"settlement": {
"status": "NOT_APPLICABLE",
"settlementId": "<string>",
"dueDate": "2023-12-25"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"inventoryId": "<string>",
"senderQuote": {
"rate": "5.43210000",
"source": {
"currency": "USD",
"amount": "1000.00"
},
"destination": {
"currency": "USD",
"amount": "1000.00"
},
"quotedAt": "2023-11-07T05:31:56Z",
"reference": "<string>"
},
"statusReason": "<string>",
"paymentInstructionId": "<string>",
"purpose": "FAMILY_MAINTENANCE",
"senderRelationship": "SELF",
"spread": {
"percentage": "0.75",
"amount": {
"currency": "USD",
"amount": "7.50"
}
},
"metadata": {}
}{
"code": "QUOTE_EXPIRED",
"message": "<string>",
"requestId": "<string>",
"retryable": true,
"details": [
{
"field": "<string>",
"reason": "<string>"
}
]
}{
"code": "QUOTE_EXPIRED",
"message": "<string>",
"requestId": "<string>",
"retryable": true,
"details": [
{
"field": "<string>",
"reason": "<string>"
}
]
}Consultar remessa
curl --request GET \
--url https://api.lbpay.example.com/v1/remittances/{remittanceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lbpay.example.com/v1/remittances/{remittanceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.lbpay.example.com/v1/remittances/{remittanceId}', 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.lbpay.example.com/v1/remittances/{remittanceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lbpay.example.com/v1/remittances/{remittanceId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lbpay.example.com/v1/remittances/{remittanceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lbpay.example.com/v1/remittances/{remittanceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"remittanceId": "<string>",
"type": "WITHDRAWAL",
"externalId": "<string>",
"quoteId": "<string>",
"status": "PROCESSING",
"senderId": "<string>",
"beneficiaryId": "<string>",
"source": {
"currency": "USD",
"amount": "1000.00"
},
"destination": {
"currency": "USD",
"amount": "1000.00"
},
"fx": {
"status": "PENDING",
"fxContractId": "<string>",
"rate": "5.43210000",
"contractedAt": "2023-11-07T05:31:56Z"
},
"funding": {
"status": "PENDING",
"mode": "PREFUNDED",
"inventoryId": "<string>",
"confirmedAt": "2023-11-07T05:31:56Z",
"attempts": 1,
"lastFailureAt": "2023-11-07T05:31:56Z"
},
"payout": {
"status": "PENDING",
"transactionId": "<string>",
"amount": {
"currency": "USD",
"amount": "1000.00"
},
"attempts": 1,
"failureCode": "PIX_KEY_OWNER_MISMATCH",
"completedAt": "2023-11-07T05:31:56Z",
"returnedAt": "2023-11-07T05:31:56Z"
},
"settlement": {
"status": "NOT_APPLICABLE",
"settlementId": "<string>",
"dueDate": "2023-12-25"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"inventoryId": "<string>",
"senderQuote": {
"rate": "5.43210000",
"source": {
"currency": "USD",
"amount": "1000.00"
},
"destination": {
"currency": "USD",
"amount": "1000.00"
},
"quotedAt": "2023-11-07T05:31:56Z",
"reference": "<string>"
},
"statusReason": "<string>",
"paymentInstructionId": "<string>",
"purpose": "FAMILY_MAINTENANCE",
"senderRelationship": "SELF",
"spread": {
"percentage": "0.75",
"amount": {
"currency": "USD",
"amount": "7.50"
}
},
"metadata": {}
}{
"code": "QUOTE_EXPIRED",
"message": "<string>",
"requestId": "<string>",
"retryable": true,
"details": [
{
"field": "<string>",
"reason": "<string>"
}
]
}{
"code": "QUOTE_EXPIRED",
"message": "<string>",
"requestId": "<string>",
"retryable": true,
"details": [
{
"field": "<string>",
"reason": "<string>"
}
]
}Autorizações
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parâmetros de caminho
Resposta
Remittance details
status descreve o ciclo de vida; o detalhe de cada domínio fica em fx, funding, payout e settlement.
Não existe status de resultado desconhecido: sem resposta, o domínio permanece PROCESSING até confirmação, ou vai para FAILED/EXPIRED.
Ordem de execução: screening → câmbio → funding → Pix. O câmbio só é contratado após o screening; uma remessa pode ir para ON_HOLD na criação ou durante o screening, sempre antes de fx.status = CONTRACTED.
Funding: PREFUNDED debita o USD da MSB nos EUA antes do Pix; CREDIT antecipa o BRL e gera obrigação de liquidação. Falha de funding após o câmbio não encerra a remessa: a LB Pay continua tentando (funding.status = RETRYING) e a remessa permanece PROCESSING.
Antes do Pix a LB Pay confirma que o titular da chave corresponde ao documento do beneficiário. Divergência impede o Pix e leva a FUNDS_HELD_BRL (payout.failureCode = PIX_KEY_OWNER_MISMATCH).
COMPLETED significa Pix concluído e não depende da liquidação. REJECTED só ocorre antes de fx.status = CONTRACTED; após o câmbio, falha definitiva de Pix leva a FUNDS_HELD_BRL e devolução a RETURNED.
INVENTORY: taxa e volume foram contratados no Inventory Lot (inventoryId); quoteId é null e valores vêm do lote (fx.rate = taxa do lote). A operação de câmbio é executada por remessa; fx.status = CONTRACTED só após a confirmação da execução. Em REJECTED o volume reservado volta ao lote.
Operação que originou a remessa. WITHDRAWAL: envio do remetente para um beneficiário no Brasil via Pix. Enum extensível: ignore tipos desconhecidos.
WITHDRAWAL ID da MSB para a remessa. Único por cliente e imutável; chave de conciliação.
null somente em remessas INVENTORY.
PROCESSING, ON_HOLD, COMPLETED, REJECTED, FUNDS_HELD_BRL, RETURNED Valor monetário (saldos, extratos, custos). Pode ser zero. Para valores de requisição use PositiveMoney.
Show child attributes
Show child attributes
Valor monetário (saldos, extratos, custos). Pode ser zero. Para valores de requisição use PositiveMoney.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Inventory Lot que financiou a remessa; somente funding.mode = INVENTORY.
Dados da operação de câmbio da MSB com o remetente (usuário final). Obrigatório em INVENTORY. Não é informativo: é gravado na remessa como recebido e usado na formalização da operação. Não altera valores da remessa, taxa do lote nem cobrança. Não confundir com a cotação da LB Pay (quoteId) nem com a taxa do Inventory Lot.
A estrutura pode receber novos campos.
Show child attributes
Show child attributes
Código genérico; motivos de compliance não são detalhados.
Finalidade declarada; mapeada internamente para a natureza da operação de câmbio. Enum extensível.
FAMILY_MAINTENANCE, GIFT, PERSONAL_SAVINGS, EDUCATION, MEDICAL, SERVICES_PAYMENT, GOODS_PAYMENT, SALARY, OTHER Relação do remetente com o beneficiário.
SELF, FAMILY, FRIEND, EMPLOYER, EMPLOYEE, BUSINESS_PARTNER, OTHER Spread de câmbio: única tarifa da remessa.
Show child attributes
Show child attributes

