Skip to content

PIX Cash In -- Generer un QR Code

Genere une facturation PIX avec QR Code pour recevoir des fonds sur le compte associe a votre API Key.

Endpoint

POST /api/external/pix/cash-in

En-tetes

En-teteTypeObligatoireDescription
AuthorizationStringOuiApiKey {client_id}:{client_secret}
Content-TypeStringOuiapplication/json
hmacStringOuiSignature HMAC-SHA512 du body (en savoir plus)
Idempotency-KeyStringNonCle unique pour eviter le traitement en double (max 256 chars)

Request Body

ChampTypeObligatoireDescriptionExemple
amountIntegerOuiMontant en centavos (R$ 30,00 = 3000)3000
descriptionStringNonDescription de la facturation (max 140 caracteres)"Pedido #1234"
external_idStringNonIdentifiant de votre systeme pour le suivi. Max 128 chars. Uniquement a-zA-Z0-9._:-. Retourne dans les reponses et webhooks."order-9876"

Valeurs monetaires

Les valeurs d'entree sont en centavos (R$ 1,00 = 100). Les valeurs de reponse sont en unites de base (R$ 1,00 = 10000). Pour convertir la reponse en reais, divisez par 10 000. N'utilisez jamais de virgule flottante.

Exemple

bash
BODY='{"amount":3000,"description":"Pedido #1234","external_id":"order-9876"}'
HMAC=$(echo -n "$BODY" | openssl dgst -sha512 -hmac "$CLIENT_SECRET" | awk '{print $2}')

curl -X POST https://api.owem.com.br/api/external/pix/cash-in \
  -H "Authorization: ApiKey $CLIENT_ID:$CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -H "hmac: $HMAC" \
  -d "$BODY"

Reponse de Succes (200)

json
{
  "worked": true,
  "transaction_id": "7popu57v6us7p6pcicgq12345",
  "qr_code": "00020126580014br.gov.bcb.pix...",
  "qr_code_image": "data:image/png;base64,iVBORw0KGgo...",
  "external_id": "order-9876",
  "amount": 300000,
  "status": "active",
  "expires_at": "2026-03-07T16:30:00Z"
}
ChampTypeDescription
workedBooleantrue indique le succes de l'operation
transaction_idStringIdentifiant unique de la facturation (tx_id du QR Code)
qr_codeStringCode EMV copier-coller pour paiement
qr_code_imageStringImage du QR Code encodee en base64 (PNG)
external_idStringVotre identifiant, retourne tel qu'envoye. null si non renseigne
amountIntegerMontant de la facturation en unites de base (/ 10 000 pour reais). 300000 = R$ 30,00
statusStringStatut initial : active (QR Code actif pour paiement)
expires_atStringDate/heure d'expiration du QR Code (ISO 8601)

Reponse d'Erreur (400)

json
{
  "worked": false,
  "detail": "O campo amount e obrigatorio"
}

Reponse d'Erreur (401)

json
{
  "error": {
    "status": 401,
    "message": "Missing API key credentials. Use Authorization: ApiKey <client_id>:<client_secret>"
  }
}

Reponse d'Erreur (422)

json
{
  "worked": false,
  "detail": "Invalid HMAC signature"
}

Flux Recommande

  1. Generez la facturation avec cet endpoint
  2. Affichez le QR Code (qr_code_image) ou le code copier-coller (qr_code) au payeur
  3. Recevez la confirmation via Webhook lorsque le paiement est effectue
  4. Ou consultez le statut : par ID, par E2E, par Tag

Validite du QR Code

Le QR Code genere a une validite de 24 heures. Passe ce delai, la facturation expire automatiquement et le statut passe a cancelled.

Owem Pay Instituição de Pagamento — ISPB 37839059