Recipe: accept Colombian pesos
Let buyers in Colombia pay with Bre-B, Nequi or Daviplata — at checkout or from your own screens — and hold, refund or convert the pesos.
Two ways to collect pesos
| Way | Best when | How |
|---|---|---|
| Hosted checkout | You already use checkout sessions or links | Add "cop" to methods (or leave methods empty) |
| Direct API | You build your own payment screen | POST /v1/cop/payments with a channel |
Pesos have their own balance, apart from bolívares and stablecoins. The standard fee is 4.5% + COP 1,500 per payment, with a COP 20,000 minimum.
Step 01
Collect from your own screen
curl --request POST "${API_URL}/v1/cop/payments" \
--header "content-type: application/json" \
--header "x-api-key: ${VEXPAY_API_KEY}" \
--header "Idempotency-Key: order-1042" \
--data '{ "amountCop": 100000, "channel": "breb", "reference": "order-1042" }'| channel | What the buyer does | What you show |
|---|---|---|
| breb | Scans a QR or pastes a transfer key in their bank app | next.qrPngBase64 and next.transferKey (only in this response) |
| nequi | Approves a push notification in Nequi | A waiting screen |
| daviplata | Types the SMS code Daviplata sends them | A code field; send it to POST /v1/cop/payments/:id/otp |
Step 02
After the payment
- Fulfill
payment.completed carries amountCop and feeCop. Match on reference.
- Hold
The pesos are held 24h: GET /v1/cop/balance shows availableCop, heldCop and nextReleaseAt.
- Refund if needed
POST /v1/cop/payments/:id/refund within 96 hours. A refund of a sale that is still held comes out of the hold.
- Convert or withdraw
Convert pesos to USDT (POST /v1/conversions with sourceCurrency COP, or auto-convert a share of every payment), or ask VEX Pay for a bank payout of your available pesos.