Skip to main content
Use rail: "BRE_B" when you want to collect a payin through the BREB flow. Before implementing this rail:
  • Review How to create your first payin for the shared request fields and lifecycle.
  • Configure webhooks so your system receives the final payin status.
  • Treat callbackUrl as the payer return URL only. The definitive payment result is delivered asynchronously.
  1. Create the payin with rail: "BRE_B" and the desired breb.keyType.
  2. HelloPay creates the payin in PROCESSING.
  3. For SINGLE_USE, HelloPay returns the generated BREB key in sourceData.keyString.
  4. For QR_CODE, HelloPay also returns sourceData.qrString with a base64 image that you can render as a QR.
  5. Poll the payin or wait for webhook events until HelloPay updates the transaction with the BREB-specific data and final status.
  6. Track the final state through webhook events such as payin.confirmed, payin.canceled, or payin.declined.

Request examples

Use breb.keyType: "SINGLE_USE" when you want HelloPay to return only the generated BREB key.

Request fields

  • amountInCents: amount to collect, expressed in cents.
  • currency: currently COP.
  • rail: must be BRE_B.
  • reference: your internal identifier for this payin.
  • inlineCustomer: customer information used during the payment flow. Supported document types are listed in How to create your first payin.
  • breb.keyType: BREB key mode to generate. Use SINGLE_USE for a key-only flow or QR_CODE to also receive sourceData.qrString.
  • callbackUrl: URL where the payer is redirected after the payment flow is completed.

Response examples

What the response means

  • status: "PROCESSING" means the payin was created successfully and is waiting for the BREB flow to complete.
  • sourceData.keyType tells you which BREB key mode was used for the transaction.
  • sourceData.keyString is available in both variants so you can identify the generated BREB key.
  • sourceData.qrString is returned only for QR_CODE payins and contains a data:image/png;base64,... payload ready to render.
  • The creation response is not the final outcome. Rely on webhooks to learn whether the payin was confirmed, canceled, or declined.