Nequi
Bamboo supports two payment flows with Nequi in Colombia: QR and Push. Both methods allow immediate mobile payment initiation through the Nequi app.
Nequi QR
Enables the payer to scan a QR code using the Nequi app to complete the transaction. The QR code is returned in the purchase response as a base64 image.
Payment Flow
- The payer opens the Nequi app and selects the Scan QR option from the main menu.
- The QR code generated by Bamboo is scanned, containing the payment amount and merchant details.
- Nequi prompts the user to enter their security PIN to confirm the operation.
- The payment summary is displayed; the payer reviews the details and taps Pay.
- A confirmation screen shows the transaction status, amount, date, and reference.
Request Parameters
You need to include specific fields for this payment method to work correctly.
For details on authentication, response formats, and base parameters (amount, currency, etc.), refer to the Purchase operation guide.
| Property | Type | Mandatory? | Description |
|---|---|---|---|
PaymentMethod | string | Yes | Use NEQ. See Payment Methods – Colombia. |
TargetCountryISO | string | Yes | Country code. Must be CO. |
Customer → Email | string | Yes | Payer’s email address. |
Customer → FirstName | string | No | Payer’s first name. |
Customer → LastName | string | No | Payer’s last name. |
Customer → DocumentType | string | No* | Document type. See Document Types – Colombia. |
Customer → DocumentNumber | string | No* | Payer’s document number. Required for refunds if not sent in the purchase. |
Customer → PhoneNumber | string | No | Optional. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Defaults to 45 minutes (controlled by Nequi) |
If
DocumentTypeandDocumentNumberare not included in the purchase request, they must be provided in the refund request.
Example Request
To test this endpoint, use the API Reference or the Postman Collection
{
"PaymentMethod": "NQQ",
"Order": "CH2023-001",
"Amount": 100000,
"Currency": "COP",
"Description": "Purchase Test",
"TargetCountryISO": "CO",
"Customer": {
"FirstName": "Juan Carlos",
"LastName": "Silva",
"Email": "[email protected]",
"DocumentType":"CC.CO",
"DocumentNumber":"12345672",
"PhoneNumber":"3188060418",
"ReferenceCode":"123123"
},
"MetaDataIn": {
"PaymentExpirationInMinutes": "7200"
}
}Response Parameters
The following example shows the response to the request. For additional information about the response structure, refer to the Response parameters section of the Purchase creation guide.
The purchase is created with status PENDING. The QR code is returned in the MetadataOut.Base64Qr field.
| Property | Type | Description |
|---|---|---|
MetadataOut → CodeQr | string | Unique payment identifier associated with the QR. |
MetadataOut → Base64Qr | string | Base64-encoded QR image that can be displayed directly in the checkout. |
MetadataOut → PaymentExpirationDate | string | Date and time when the QR expires. Format: DD/MM/YYYY HH:mm:ss. |
Example Response
{
"TransactionId": "79632697147789184",
"Result": "ACTION_REQUIRED",
"Status": "PENDING",
"ErrorCode": null,
"ErrorDescription": null,
"Created": "2024-08-07T17:51:54.620",
"AuthorizationDate": null,
"AuthorizationCode": null,
"Amount": 100000,
"Currency": "COP",
"TaxableAmount": null,
"Tip": null,
"Url": "https://api.stage.bamboopayment.com/Purchase/79632697147789184",
"MetadataOut":
{
"CodeQr": "bancadigital-C001-10011-1131320",
"Base64Qr": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA..."
},
"MetaDataIn": {
"PaymentExpirationInMinutes": "7200"
},
"Action": null,
"PaymentMethod": {
"Brand": "NequiQR",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Type": "BankTransfer",
"Expiration": null,
"Last4": null
}
}In the field MetadataOut, the QR code is returned as a base64 image. Add this image inside an image HTML tag.
<img src="data:image/png;base64,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" id="qr-code-display" style="max-width: 400px;">Result:
Nequi Push
Sends a push notification to the payer’s Nequi app. The payer can accept or reject the payment directly from their mobile device.
Payment Flow
- The payer enters their phone number at checkout. Bamboo sends a payment request to Nequi, which triggers a push notification on the payer’s phone with the transaction details.
- After tapping the notification, the Nequi app displays a pending payment screen with amount and merchant.
- The payer selects the source of funds (e.g., "Disponible") and taps Pay.
- A confirmation screen appears, summarizing the transaction.
- The movement detail is shown, including reference, amount, and confirmation status.
Request Parameters
You need to include specific fields for this payment method to work correctly.
For details on authentication, response formats, and base parameters (amount, currency, etc.), refer to the Purchase operation guide.
| Property | Type | Mandatory? | Description |
|---|---|---|---|
PaymentMethod | string | Yes | Use NEP. See Payment Methods – Colombia. |
TargetCountryISO | string | Yes | Country code. Must be CO. |
Customer → Email | string | Yes | Payer’s email address. |
Customer → FirstName | string | No | Payer’s first name. |
Customer → LastName | string | No | Payer’s last name. |
Customer → DocumentType | string | No* | Document type. See Document Types – Colombia. |
Customer → DocumentNumber | string | No* | Payer’s document number. Required for refunds if not sent in the purchase. |
Customer → PhoneNumber | string | Yes | Must be 10 digits (no country prefix). Example: 3188255555. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Defaults to 45 minutes (controlled by Nequi) |
If
DocumentTypeandDocumentNumberare not provided in the purchase, they must be included in refund requests.
Request example
{
"PaymentMethod": "NQP",
"Order": "CH2023-001",
"Amount": 100000,
"Currency": "COP",
"Description": "Purchase Test",
"TargetCountryISO": "CO",
"Customer": {
"FirstName": "Juan Carlos",
"LastName": "Silva",
"Email": "[email protected]",
"DocumentType":"CC.CO",
"DocumentNumber":"12345672",
"PhoneNumber":"3188060418",
"ReferenceCode":"123123"
},
"MetaDataIn": {
"PaymentExpirationInMinutes": "7200"
}
}Response Parameters
Nequi generates the payment order and sends a push notification to the payer. The transaction remains PENDING until the payer accepts or rejects it from the Nequi app.
See the Response parameters section of the Purchase creation guide for full details.
| Property | Type | Description |
|---|---|---|
Status | string | Current transaction status. Will remain PENDING until payer confirms. |
Action | object | null for this method. |
MetadataOut | object | null for this method. |
Response example
{
"TransactionId": "79632697147789184",
"Result": "ACTION_REQUIRED",
"Status": "PENDING",
"ErrorCode": null,
"ErrorDescription": null,
"Created": "2024-08-07T17:51:54.620",
"AuthorizationDate": null,
"AuthorizationCode": null,
"Amount": 100000,
"Currency": "COP",
"TaxableAmount": null,
"Tip": null,
"Url": "https://api.stage.bamboopayment.com/Purchase/79632697147789184",
"MetadataOut": null,
"MetaDataIn": {
"PaymentExpirationInMinutes": "7200"
},
"Action": null,
"PaymentMethod": {
"Brand": "NequiPush",
"CardOwner": null,
"Bin": null,
"IssuerBank": null,
"Type": "BankTransfer",
"Expiration": null,
"Last4": null
}
}
Discover the API
Once you’re familiar with how to create a purchase, you can test your integration using our API Reference
Updated 15 days ago
