Skip to main content
POST
https://api.owem.com.br
/
v4
/
i
/
bank-accounts
/
{accountId}
/
transfer
/
pay
Pay QR Code
curl --request POST \
  --url https://api.owem.com.br/v4/i/bank-accounts/{accountId}/transfer/pay \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "emv": "<string>",
  "amount": 123,
  "externalId": "<string>",
  "metadata": {}
}
'
{
  "requestId": "f7a8b9c0-1d2e-3f4a-5b6c-7d8e9f0a1b2c",
  "success": true,
  "size": 1,
  "data": {
    "metadata": {
      "idempotencyKey": "debit:pix_out:emv_pay:E378390592026011314520QRCPAY7X9"
    },
    "type": "debit",
    "reason": "pix_out:emv_pay",
    "status": "succeeded",
    "grossAmount": 150.0,
    "feeAmount": 0.12,
    "netAmount": 150.12,
    "externalId": "TX-20260113-PAYMENT-001",
    "endToEndId": "E378390592026011314520QRCPAY7X9",
    "parentEndToEndId": null,
    "entryId": "a3b4c5d6e7f8901234567890",
    "requestId": "f7a8b9c0-1d2e-3f4a-5b6c-7d8e9f0a1b2c",
    "userId": "usr_mkt7h2x9p4q",
    "accountId": "378390598712",
    "createdAt": 1736774520000,
    "createdDate": "2026-01-13",
    "updatedAt": 1736774520000,
    "updatedDate": "2026-01-13",
    "payer": {
      "ispb": "37839059",
      "personType": "company",
      "cpfCnpj": "45123678000195",
      "name": "TECH SOLUTIONS PAYMENTS LTDA",
      "agency": "0001",
      "accountType": "checking",
      "accountNumber": "378390598712"
    },
    "receiver": {
      "ispb": "20018183",
      "personType": "company",
      "cpfCnpj": "28456912000143",
      "name": "SPRBT INTERACTIVE BRASIL LTDA",
      "agency": "0001",
      "accountType": "payment",
      "accountNumber": "1234567890"
    },
    "medId": null,
    "medCreatedAt": null,
    "medCreatedDate": null,
    "refundedEndToEndId": null,
    "errorMessage": null,
    "id": "E378390592026011314520QRCPAY7X9",
    "idempotencyKey": "debit:pix_out:emv_pay:E378390592026011314520QRCPAY7X9"
  }
}

Purpose

Make PIX payments using the EMV code (copy-and-paste). Allows paying dynamic and static QR Codes from any financial institution. The API registers the operation in the Ledger and immediately returns the initial status. In case of processing, settlement is asynchronous.

Authentication

Authorization
string
required
Basic Auth required in format: Basic {Base64(API_KEY:API_SECRET)}

Path Parameters

accountId
string
required
Source account for the payment at Owem (12 digits)

Request Body

emv
string
required
PIX copy-and-paste code (EMV). Example: 00020126360014BR.GOV.BCB.PIX0114...
amount
number
Payment amount in BRL. Optional: if not provided, uses the value defined in the QR Code.
externalId
string
Unique identifier defined by the client for idempotency and traceability
metadata
object
Object with custom data that will be returned in the response and webhook

Response

requestId
string
UUID for tracking
success
boolean
Operation status
size
number
Number of items returned
data
object
{
  "requestId": "f7a8b9c0-1d2e-3f4a-5b6c-7d8e9f0a1b2c",
  "success": true,
  "size": 1,
  "data": {
    "metadata": {
      "idempotencyKey": "debit:pix_out:emv_pay:E378390592026011314520QRCPAY7X9"
    },
    "type": "debit",
    "reason": "pix_out:emv_pay",
    "status": "succeeded",
    "grossAmount": 150.0,
    "feeAmount": 0.12,
    "netAmount": 150.12,
    "externalId": "TX-20260113-PAYMENT-001",
    "endToEndId": "E378390592026011314520QRCPAY7X9",
    "parentEndToEndId": null,
    "entryId": "a3b4c5d6e7f8901234567890",
    "requestId": "f7a8b9c0-1d2e-3f4a-5b6c-7d8e9f0a1b2c",
    "userId": "usr_mkt7h2x9p4q",
    "accountId": "378390598712",
    "createdAt": 1736774520000,
    "createdDate": "2026-01-13",
    "updatedAt": 1736774520000,
    "updatedDate": "2026-01-13",
    "payer": {
      "ispb": "37839059",
      "personType": "company",
      "cpfCnpj": "45123678000195",
      "name": "TECH SOLUTIONS PAYMENTS LTDA",
      "agency": "0001",
      "accountType": "checking",
      "accountNumber": "378390598712"
    },
    "receiver": {
      "ispb": "20018183",
      "personType": "company",
      "cpfCnpj": "28456912000143",
      "name": "SPRBT INTERACTIVE BRASIL LTDA",
      "agency": "0001",
      "accountType": "payment",
      "accountNumber": "1234567890"
    },
    "medId": null,
    "medCreatedAt": null,
    "medCreatedDate": null,
    "refundedEndToEndId": null,
    "errorMessage": null,
    "id": "E378390592026011314520QRCPAY7X9",
    "idempotencyKey": "debit:pix_out:emv_pay:E378390592026011314520QRCPAY7X9"
  }
}

Status Codes

HTTPDescription
200Payment registered
400Invalid EMV or transaction not allowed
401Invalid credentials
403IP not allowlisted
404accountId not found
422Insufficient balance or limit exceeded
429Rate limit exceeded
500Internal error

Payment Status

StatusDescription
processingRegistered, awaiting bank confirmation
succeededPayment confirmed
failedFailure (invalid QR, bank rejection)

Request Example

{
  "emv": "00020101021226910014br.gov.bcb.pix2569qrcode.ip-digital.com/pc/p/v2/df2c0b69d1e44523a283975ffc9108605204799553039865802BR5925SPRBT INTERACTIVE BRASIL 6012Sao Paulo/SP61080133290762070503***63042E7F",
  "amount": 150.0,
  "externalId": "TX-20260113-PAYMENT-001",
  "metadata": {
    "orderId": "12345",
    "customField": "custom_value"
  }
}
When the amount field is not sent, the API automatically uses the value defined in the dynamic QR Code.
Expired or already paid QR Codes will return a 400 error. Check the code validity before sending.
Use externalId to ensure idempotency and facilitate reconciliation of operations in your system.