Pay with transfer batch
curl --request POST \
--url https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-merchant-id: <api-key>' \
--data '
{
"paymentOrders": [
{
"externalId": "ORDER-123",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890"
},
"amount": 100.5,
"currency": "USD",
"description": "Payment for order #123"
},
{
"externalId": "ORDER-124",
"customer": {
"externalId": "CUST-124",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phoneNumber": "+1987654321"
},
"amount": 200.75,
"currency": "USD",
"description": "Payment for order #124"
}
],
"paymentMethod": {
"type": "spei"
}
}
'import requests
url = "https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch"
payload = {
"paymentOrders": [
{
"externalId": "ORDER-123",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890"
},
"amount": 100.5,
"currency": "USD",
"description": "Payment for order #123"
},
{
"externalId": "ORDER-124",
"customer": {
"externalId": "CUST-124",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phoneNumber": "+1987654321"
},
"amount": 200.75,
"currency": "USD",
"description": "Payment for order #124"
}
],
"paymentMethod": { "type": "spei" }
}
headers = {
"x-api-key": "<api-key>",
"x-merchant-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-merchant-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
paymentOrders: [
{
externalId: 'ORDER-123',
customer: {
externalId: 'CUST-123',
firstName: 'John',
lastName: 'Doe',
email: 'john.doe@example.com',
phoneNumber: '+1234567890'
},
amount: 100.5,
currency: 'USD',
description: 'Payment for order #123'
},
{
externalId: 'ORDER-124',
customer: {
externalId: 'CUST-124',
firstName: 'Jane',
lastName: 'Smith',
email: 'jane.smith@example.com',
phoneNumber: '+1987654321'
},
amount: 200.75,
currency: 'USD',
description: 'Payment for order #124'
}
],
paymentMethod: {type: 'spei'}
})
};
fetch('https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch', 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.cheqpay.mx/pos/checkout/pay-batch",
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([
'paymentOrders' => [
[
'externalId' => 'ORDER-123',
'customer' => [
'externalId' => 'CUST-123',
'firstName' => 'John',
'lastName' => 'Doe',
'email' => 'john.doe@example.com',
'phoneNumber' => '+1234567890'
],
'amount' => 100.5,
'currency' => 'USD',
'description' => 'Payment for order #123'
],
[
'externalId' => 'ORDER-124',
'customer' => [
'externalId' => 'CUST-124',
'firstName' => 'Jane',
'lastName' => 'Smith',
'email' => 'jane.smith@example.com',
'phoneNumber' => '+1987654321'
],
'amount' => 200.75,
'currency' => 'USD',
'description' => 'Payment for order #124'
]
],
'paymentMethod' => [
'type' => 'spei'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-merchant-id: <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.sandbox.cheqpay.mx/pos/checkout/pay-batch"
payload := strings.NewReader("{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-merchant-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.sandbox.cheqpay.mx/pos/checkout/pay-batch")
.header("x-api-key", "<api-key>")
.header("x-merchant-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-merchant-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}"
response = http.request(request)
puts response.read_body{
"paymentOrders": [
{
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"externalId": "ORDER-123",
"refundedAmount": 0,
"amount": 100.5,
"currency": "USD",
"status": "PENDING",
"payments": [
{
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"status": "PENDING_CAPTURE",
"paymentMethodType": "SPEI",
"amount": "200.99",
"refundedAmount": "0.00",
"currency": "USD",
"paymentMethodId": "<string>",
"lastFailedEventReason": "Insufficient funds",
"lastFailedEventAt": "2025-05-19T18:14:32.424Z",
"createdAt": "2025-05-19T18:14:32.424Z",
"updatedAt": "2025-05-19T18:14:32.523Z",
"billingFirstName": "<string>",
"billingLastName": "<string>",
"billingPhoneNumber": "<string>",
"billingEmail": "jsmith@example.com",
"billingAddressLine1": "<string>",
"billingAddressLine2": "<string>",
"billingCity": "<string>",
"billingState": "<string>",
"billingPostalCode": "<string>",
"billingCountry": "<string>",
"paymentEvents": [
{
"id": "evt-123",
"action": "AUTHORIZATION",
"status": "SUCCESS",
"createdAt": "2025-05-19T18:14:32.424Z",
"amount": "100.50",
"currency": "USD",
"reason": null
}
]
}
],
"subtotalAmount": 100000,
"surchargeAmount": 5000,
"surchargeRate": 5,
"amountPaid": 50000,
"amountPending": 55000,
"allowPartials": false,
"invoiceType": "PUE",
"invoiceStatus": "INVOICED",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"complements": [
{
"id": "9c8b7a6d-5e4f-3c2b-1a0f-9e8d7c6b5a4d",
"paymentId": "a0b0c9d4-6ce9-40e4-873a-e234c1d93639",
"amount": 25000,
"status": "EMITTED",
"paymentEventId": "20912eee-6047-40c7-97b4-48501bb36ef4",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"fiscalInvoiceId": "6a710705bd1842a3122c70ff",
"pdfKey": "invoices/mch_test_001/order-uuid/rep-payment-uuid.pdf",
"emittedAt": "2026-08-06T05:37:35.760Z",
"createdAt": "2026-08-06T05:37:30.100Z"
}
],
"creditNotes": [
{
"id": "9c8b7a6d-5e4f-3c2b-1a0f-9e8d7c6b5a4d",
"paymentId": "a0b0c9d4-6ce9-40e4-873a-e234c1d93639",
"amount": 25000,
"status": "EMITTED",
"paymentEventId": "20912eee-6047-40c7-97b4-48501bb36ef4",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"fiscalInvoiceId": "6a710705bd1842a3122c70ff",
"pdfKey": "invoices/mch_test_001/order-uuid/rep-payment-uuid.pdf",
"emittedAt": "2026-08-06T05:37:35.760Z",
"createdAt": "2026-08-06T05:37:30.100Z"
}
],
"invoiceSummary": {
"capturedCount": 4,
"emittedRepCount": 3,
"pendingRepCount": 0,
"failedRepCount": 1,
"refundEventCount": 1,
"emittedCreditNoteCount": 1,
"pendingCreditNoteCount": 0,
"failedCreditNoteCount": 0,
"isFullyStamped": false
},
"orderNumber": "C25123101",
"invoiceNumber": "INV-2026-001",
"description": "Payment for order #123",
"metadata": {
"orderId": "ORD-123",
"source": "web"
},
"billingAddressLine": "123 Main St",
"billingCity": "New York",
"billingState": "NY",
"billingPostalCode": "10001",
"billingCountry": "US",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890",
"active": true,
"createdAt": "2024-03-20T10:00:00Z",
"updatedAt": "2024-03-20T10:00:00Z"
},
"dueDate": "2026-04-15T00:00:00.000Z",
"createdAt": "2024-03-20T10:00:00Z",
"updatedAt": "2024-03-20T10:00:00Z",
"paymentMethod": {
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"type": "CARD",
"cardDetails": {
"id": "<string>",
"type": "CREDIT",
"bin": "411111",
"last4": "1111",
"brand": "VISA",
"country": "US",
"issuerBank": "CHASE",
"expMonth": 12,
"expYear": 2025,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"speiDetails": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clabe": "123456789012345678",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"cieDetails": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reference": "CIE0000000001",
"convenio": "0123456789",
"clabe": "012345678901234567",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
}
],
"paymentMethod": {
"type": "SPEI",
"options": {
"clabe": "123456789012345678"
}
}
}Checkout
Pay with transfer batch
Process multiple payments using transfers. This endpoint will create or update multiple payment orders and customers based on the provided external IDs, then assign a single CLABE account for all transfers.
POST
/
checkout
/
pay-batch
Pay with transfer batch
curl --request POST \
--url https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-merchant-id: <api-key>' \
--data '
{
"paymentOrders": [
{
"externalId": "ORDER-123",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890"
},
"amount": 100.5,
"currency": "USD",
"description": "Payment for order #123"
},
{
"externalId": "ORDER-124",
"customer": {
"externalId": "CUST-124",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phoneNumber": "+1987654321"
},
"amount": 200.75,
"currency": "USD",
"description": "Payment for order #124"
}
],
"paymentMethod": {
"type": "spei"
}
}
'import requests
url = "https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch"
payload = {
"paymentOrders": [
{
"externalId": "ORDER-123",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890"
},
"amount": 100.5,
"currency": "USD",
"description": "Payment for order #123"
},
{
"externalId": "ORDER-124",
"customer": {
"externalId": "CUST-124",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phoneNumber": "+1987654321"
},
"amount": 200.75,
"currency": "USD",
"description": "Payment for order #124"
}
],
"paymentMethod": { "type": "spei" }
}
headers = {
"x-api-key": "<api-key>",
"x-merchant-id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-merchant-id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
paymentOrders: [
{
externalId: 'ORDER-123',
customer: {
externalId: 'CUST-123',
firstName: 'John',
lastName: 'Doe',
email: 'john.doe@example.com',
phoneNumber: '+1234567890'
},
amount: 100.5,
currency: 'USD',
description: 'Payment for order #123'
},
{
externalId: 'ORDER-124',
customer: {
externalId: 'CUST-124',
firstName: 'Jane',
lastName: 'Smith',
email: 'jane.smith@example.com',
phoneNumber: '+1987654321'
},
amount: 200.75,
currency: 'USD',
description: 'Payment for order #124'
}
],
paymentMethod: {type: 'spei'}
})
};
fetch('https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch', 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.cheqpay.mx/pos/checkout/pay-batch",
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([
'paymentOrders' => [
[
'externalId' => 'ORDER-123',
'customer' => [
'externalId' => 'CUST-123',
'firstName' => 'John',
'lastName' => 'Doe',
'email' => 'john.doe@example.com',
'phoneNumber' => '+1234567890'
],
'amount' => 100.5,
'currency' => 'USD',
'description' => 'Payment for order #123'
],
[
'externalId' => 'ORDER-124',
'customer' => [
'externalId' => 'CUST-124',
'firstName' => 'Jane',
'lastName' => 'Smith',
'email' => 'jane.smith@example.com',
'phoneNumber' => '+1987654321'
],
'amount' => 200.75,
'currency' => 'USD',
'description' => 'Payment for order #124'
]
],
'paymentMethod' => [
'type' => 'spei'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-merchant-id: <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.sandbox.cheqpay.mx/pos/checkout/pay-batch"
payload := strings.NewReader("{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-merchant-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.sandbox.cheqpay.mx/pos/checkout/pay-batch")
.header("x-api-key", "<api-key>")
.header("x-merchant-id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.cheqpay.mx/pos/checkout/pay-batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-merchant-id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paymentOrders\": [\n {\n \"externalId\": \"ORDER-123\",\n \"customer\": {\n \"externalId\": \"CUST-123\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"amount\": 100.5,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #123\"\n },\n {\n \"externalId\": \"ORDER-124\",\n \"customer\": {\n \"externalId\": \"CUST-124\",\n \"firstName\": \"Jane\",\n \"lastName\": \"Smith\",\n \"email\": \"jane.smith@example.com\",\n \"phoneNumber\": \"+1987654321\"\n },\n \"amount\": 200.75,\n \"currency\": \"USD\",\n \"description\": \"Payment for order #124\"\n }\n ],\n \"paymentMethod\": {\n \"type\": \"spei\"\n }\n}"
response = http.request(request)
puts response.read_body{
"paymentOrders": [
{
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"externalId": "ORDER-123",
"refundedAmount": 0,
"amount": 100.5,
"currency": "USD",
"status": "PENDING",
"payments": [
{
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"status": "PENDING_CAPTURE",
"paymentMethodType": "SPEI",
"amount": "200.99",
"refundedAmount": "0.00",
"currency": "USD",
"paymentMethodId": "<string>",
"lastFailedEventReason": "Insufficient funds",
"lastFailedEventAt": "2025-05-19T18:14:32.424Z",
"createdAt": "2025-05-19T18:14:32.424Z",
"updatedAt": "2025-05-19T18:14:32.523Z",
"billingFirstName": "<string>",
"billingLastName": "<string>",
"billingPhoneNumber": "<string>",
"billingEmail": "jsmith@example.com",
"billingAddressLine1": "<string>",
"billingAddressLine2": "<string>",
"billingCity": "<string>",
"billingState": "<string>",
"billingPostalCode": "<string>",
"billingCountry": "<string>",
"paymentEvents": [
{
"id": "evt-123",
"action": "AUTHORIZATION",
"status": "SUCCESS",
"createdAt": "2025-05-19T18:14:32.424Z",
"amount": "100.50",
"currency": "USD",
"reason": null
}
]
}
],
"subtotalAmount": 100000,
"surchargeAmount": 5000,
"surchargeRate": 5,
"amountPaid": 50000,
"amountPending": 55000,
"allowPartials": false,
"invoiceType": "PUE",
"invoiceStatus": "INVOICED",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"complements": [
{
"id": "9c8b7a6d-5e4f-3c2b-1a0f-9e8d7c6b5a4d",
"paymentId": "a0b0c9d4-6ce9-40e4-873a-e234c1d93639",
"amount": 25000,
"status": "EMITTED",
"paymentEventId": "20912eee-6047-40c7-97b4-48501bb36ef4",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"fiscalInvoiceId": "6a710705bd1842a3122c70ff",
"pdfKey": "invoices/mch_test_001/order-uuid/rep-payment-uuid.pdf",
"emittedAt": "2026-08-06T05:37:35.760Z",
"createdAt": "2026-08-06T05:37:30.100Z"
}
],
"creditNotes": [
{
"id": "9c8b7a6d-5e4f-3c2b-1a0f-9e8d7c6b5a4d",
"paymentId": "a0b0c9d4-6ce9-40e4-873a-e234c1d93639",
"amount": 25000,
"status": "EMITTED",
"paymentEventId": "20912eee-6047-40c7-97b4-48501bb36ef4",
"fiscalUuid": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
"fiscalInvoiceId": "6a710705bd1842a3122c70ff",
"pdfKey": "invoices/mch_test_001/order-uuid/rep-payment-uuid.pdf",
"emittedAt": "2026-08-06T05:37:35.760Z",
"createdAt": "2026-08-06T05:37:30.100Z"
}
],
"invoiceSummary": {
"capturedCount": 4,
"emittedRepCount": 3,
"pendingRepCount": 0,
"failedRepCount": 1,
"refundEventCount": 1,
"emittedCreditNoteCount": 1,
"pendingCreditNoteCount": 0,
"failedCreditNoteCount": 0,
"isFullyStamped": false
},
"orderNumber": "C25123101",
"invoiceNumber": "INV-2026-001",
"description": "Payment for order #123",
"metadata": {
"orderId": "ORD-123",
"source": "web"
},
"billingAddressLine": "123 Main St",
"billingCity": "New York",
"billingState": "NY",
"billingPostalCode": "10001",
"billingCountry": "US",
"customer": {
"externalId": "CUST-123",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phoneNumber": "+1234567890",
"active": true,
"createdAt": "2024-03-20T10:00:00Z",
"updatedAt": "2024-03-20T10:00:00Z"
},
"dueDate": "2026-04-15T00:00:00.000Z",
"createdAt": "2024-03-20T10:00:00Z",
"updatedAt": "2024-03-20T10:00:00Z",
"paymentMethod": {
"id": "856b4a29-a7e5-4726-87d4-77e55d5ecfbf",
"type": "CARD",
"cardDetails": {
"id": "<string>",
"type": "CREDIT",
"bin": "411111",
"last4": "1111",
"brand": "VISA",
"country": "US",
"issuerBank": "CHASE",
"expMonth": 12,
"expYear": 2025,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"speiDetails": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clabe": "123456789012345678",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"cieDetails": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reference": "CIE0000000001",
"convenio": "0123456789",
"clabe": "012345678901234567",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}
}
],
"paymentMethod": {
"type": "SPEI",
"options": {
"clabe": "123456789012345678"
}
}
}Authorizations
API key for authentication (required)
Merchant ID for identifying the merchant (required)
Body
application/json