rail: "NEQUI" to request payment from a payer’s Nequi account. HelloPay sends the payment request to the mobile number in inlineCustomer.phone; the payer approves it in Nequi.
Review How to create your first payin for shared fields, and configure webhooks to receive the final result.
How the flow works
- Create the payin with
rail: "NEQUI"and the payer’s Nequi mobile number ininlineCustomer.phone. - HelloPay creates the payin in
PENDING, then starts the request and moves it toPROCESSING. The response includessourceData.phonewith the number used for the request. - Ask the payer to check Nequi and approve the payment request. This flow has no bank redirect URL or QR code.
- Wait for
payin.confirmedorpayin.declined, or pollGET /payins/{id}until the status is final. An unresolved Nequi payin is checked for expiration after 15 minutes.
Request example
inlineCustomer.phone must be a Colombian mobile number in +573XXXXXXXXX format. It is the Nequi destination for the payment request. The inlineCustomer object also requires name, idType, idNumber, and email. Do not send a nequi object in the payin request; no method-specific object is required.
Example creation response
sourceData.phone identifies the mobile number; it is not a payment confirmation. If the payer approves, the payin becomes CONFIRMED. If Nequi rejects it or the request remains unresolved at the expiration check, the payin becomes DECLINED.
In the sandbox, use the documented test inlineCustomer.idNumber values to simulate final outcomes. No real Nequi request is sent.
