/payins endpoint to create a payment request that your customer will complete using one of the supported payment methods.
General flow
- Send a
POSTrequest to/payinswith the amount, customer data, selectedrail, and method-specific details. - HelloPay creates the payin and returns its initial state.
- Poll the payin when a rail needs more source data, such as a PSE redirect URL.
- The customer completes the payment using the selected payment method.
- HelloPay updates the payin status asynchronously and sends webhook events.
- Hosted flows return the payer to the
callbackUrlyou provided when applicable.
Polling behavior
For payin rails such asPSE and BRE_B, the creation response can omit some source data until HelloPay finishes preparing the flow.
- In
PSEpayins,sourceData.pseUrlis returned asnullright after creation. - In
BRE_Bpayins,sourceDatadepends onbreb.keyType.SINGLE_USEreturns the generated key, andQR_CODEalso returnssourceData.qrStringwith the QR image payload. - In
NEQUIpayins,sourceData.phonecontains the payer’s mobile number. There is no redirect URL or QR code to wait for. - For PSE and BRE-B, poll the payin after creation if the source data you need is not yet available. For Nequi, wait for a final status instead.
- The method-specific guides include request and response examples for each async flow.
Common fields
These fields are shared across all payin methods:amountInCents: amount to collect in cents.currency: currentlyCOP.rail: payment method to use:PSE,BRE_B, orNEQUI.reference: your internal payment reference.inlineCustomer: customer information used during the payment flow.callbackUrl: URL where the payer is redirected after completing the payment.
Supported document types
Use one of the following values ininlineCustomer.idType:
Supported payment methods
- PSE payin guide: bank redirect flow using PSE.
- BREB payin guide: collection flow using a BREB key.
- Nequi payin guide: collect from a payer’s Nequi account using their mobile number.

