Confirm a Scanned Pix Automático Recurrence
curl --request POST \
--url https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Account-Id: <x-account-id>' \
--header 'X-Idempotency: <x-idempotency>' \
--data '
{
"decision": "ACCEPTED",
"idRec": "RR0000000000000000001",
"journey": "J2",
"receiverMaxAmount": "500.00"
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm"
payload := strings.NewReader("{\n \"decision\": \"ACCEPTED\",\n \"idRec\": \"RR0000000000000000001\",\n \"journey\": \"J2\",\n \"receiverMaxAmount\": \"500.00\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Account-Id", "<x-account-id>")
req.Header.Add("X-Idempotency", "<x-idempotency>")
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))
}const options = {
method: 'POST',
headers: {
'X-Account-Id': '<x-account-id>',
'X-Idempotency': '<x-idempotency>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
decision: 'ACCEPTED',
idRec: 'RR0000000000000000001',
journey: 'J2',
receiverMaxAmount: '500.00'
})
};
fetch('https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm"
payload = {
"decision": "ACCEPTED",
"idRec": "RR0000000000000000001",
"journey": "J2",
"receiverMaxAmount": "500.00"
}
headers = {
"X-Account-Id": "<x-account-id>",
"X-Idempotency": "<x-idempotency>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"authorizationRequest": {
"acceptedMaxAmount": "500.00",
"accountId": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"amount": {
"fixed": "29.90",
"max": "500.00",
"min": "10.00"
},
"approvingAt": "2023-11-07T05:31:56Z",
"cancellationCode": "ACCL",
"cancellationRequester": "PSP_PAYEE",
"cancelledAt": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"description": "Streaming subscription",
"destination": {
"account": "123456",
"accountType": "CACC",
"bank": "30306294",
"branch": "0001",
"document": "12345678000199",
"key": "contato@streaming.co",
"name": "Streaming Co",
"personType": "LEGAL_PERSON"
},
"expiredAt": "2023-11-07T05:31:56Z",
"externalRequestId": "RREC-2026-04-001",
"firstChargeId": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"id": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"journey": "J1",
"payeeRejectionCode": "MD20",
"payeeRejectionDescription": "<string>",
"periodicity": {
"customDays": 30,
"type": "MONTHLY"
},
"rejectedAt": "2023-11-07T05:31:56Z",
"replyFailedAt": "2023-11-07T05:31:56Z",
"replyFailureReason": "<string>",
"retryPolicy": "RETRY_3X_7D",
"status": "PENDING",
"updatedAt": "2023-11-07T05:31:56Z",
"validUntil": "2026-06-30T23:59:59Z"
}
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}Confirm a Scanned Pix Automático Recurrence
Approve or reject a recurrence scanned from a QR Code (BACEN journeys J2 and J4, step 2). The recurrence payload captured when the QR Code was decoded (keyed by idRec) is used to build an authorization request, and the decision is confirmed with BTG synchronously. X-Idempotency is required.
POST
/
v1
/
recurrences
/
payer
/
qr
/
confirm
Confirm a Scanned Pix Automático Recurrence
curl --request POST \
--url https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Account-Id: <x-account-id>' \
--header 'X-Idempotency: <x-idempotency>' \
--data '
{
"decision": "ACCEPTED",
"idRec": "RR0000000000000000001",
"journey": "J2",
"receiverMaxAmount": "500.00"
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm"
payload := strings.NewReader("{\n \"decision\": \"ACCEPTED\",\n \"idRec\": \"RR0000000000000000001\",\n \"journey\": \"J2\",\n \"receiverMaxAmount\": \"500.00\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Account-Id", "<x-account-id>")
req.Header.Add("X-Idempotency", "<x-idempotency>")
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))
}const options = {
method: 'POST',
headers: {
'X-Account-Id': '<x-account-id>',
'X-Idempotency': '<x-idempotency>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
decision: 'ACCEPTED',
idRec: 'RR0000000000000000001',
journey: 'J2',
receiverMaxAmount: '500.00'
})
};
fetch('https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://plugin-pix-indirect.api.lerian.net/v1/recurrences/payer/qr/confirm"
payload = {
"decision": "ACCEPTED",
"idRec": "RR0000000000000000001",
"journey": "J2",
"receiverMaxAmount": "500.00"
}
headers = {
"X-Account-Id": "<x-account-id>",
"X-Idempotency": "<x-idempotency>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"authorizationRequest": {
"acceptedMaxAmount": "500.00",
"accountId": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"amount": {
"fixed": "29.90",
"max": "500.00",
"min": "10.00"
},
"approvingAt": "2023-11-07T05:31:56Z",
"cancellationCode": "ACCL",
"cancellationRequester": "PSP_PAYEE",
"cancelledAt": "2023-11-07T05:31:56Z",
"confirmedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"description": "Streaming subscription",
"destination": {
"account": "123456",
"accountType": "CACC",
"bank": "30306294",
"branch": "0001",
"document": "12345678000199",
"key": "contato@streaming.co",
"name": "Streaming Co",
"personType": "LEGAL_PERSON"
},
"expiredAt": "2023-11-07T05:31:56Z",
"externalRequestId": "RREC-2026-04-001",
"firstChargeId": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"id": "019cf6ef-e418-7ced-80c0-7b9816faa798",
"journey": "J1",
"payeeRejectionCode": "MD20",
"payeeRejectionDescription": "<string>",
"periodicity": {
"customDays": 30,
"type": "MONTHLY"
},
"rejectedAt": "2023-11-07T05:31:56Z",
"replyFailedAt": "2023-11-07T05:31:56Z",
"replyFailureReason": "<string>",
"retryPolicy": "RETRY_3X_7D",
"status": "PENDING",
"updatedAt": "2023-11-07T05:31:56Z",
"validUntil": "2026-06-30T23:59:59Z"
}
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}{
"code": "<string>",
"title": "<string>",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Unique identifier of the Midaz Ledger Account (UUID format).
Idempotency key
Body
application/json
Response
OK
Show child attributes
Show child attributes
Was this page helpful?

