Create a checkout link that only takes Pago Móvil
Create a checkout session limited to Pago Móvil, send the buyer the link, and let VEXPay match the transfer automatically.
What you will do
Portal payment links offer every method your account accepts. To offer only Pago Móvil on one link, create a checkout session with methods: ["pago_movil"]. The buyer pays from their own bank app and VEXPay confirms the transfer by matching phone, amount and time.
- Pago Móvil enabled on your account and not turned off in Portal → Payment methods.
- On Live, a complete receiving account (VEXPay manages it; you never enter it).
- Your API key on your server.
Steps
- Check that Pago Móvil is available
GET /v1/payment-methodsmust showpago_movilwithavailable: true. If it shows areason(not_enabledorreceiving_account_not_configured), contact VEXPay. - Create the session
Call
POST /v1/checkout/sessionswith your amount in USD andmethods: ["pago_movil"]. Keep the sessionidwith your order. - Send the buyer the url
Share the
urlfrom the response by WhatsApp, email or a redirect. The link is valid forexpiresInMinutes(default 60). - The buyer pays
The buyer enters their cédula/RIF and the phone they will pay from. The checkout shows the bank, phone, RIF and the exact bolívar amount. The buyer has 15 minutes to send the Pago Móvil from that phone.
- VEXPay confirms it
When the transfer arrives, the checkout shows the receipt and
payment.completedfires with yourreferenceincheckoutSession. If the buyer paid from another phone, after 5 minutes they can enter the bank and reference instead.
curl "${API_URL}/v1/payment-methods" \
--header "x-api-key: ${VEXPAY_API_KEY}"
curl --request POST "${API_URL}/v1/checkout/sessions" \
--header "content-type: application/json" \
--header "x-api-key: ${VEXPAY_API_KEY}" \
--data '{
"amountUsd": 20.00,
"description": "Order #2051",
"reference": "order-2051",
"methods": ["pago_movil"]
}'Check that it worked
- The checkout offers only Pago Móvil.
- In Test, press Simular pago recibido on the waiting screen: the session becomes
paidinGET /v1/checkout/sessions/:idandpayment.completedarrives withlivemode: false. - On Live, the receipt shows the bank reference.
If something goes wrong
| Symptom | Likely cause | What to do |
|---|---|---|
400 invalid_data naming pago_movil | Not enabled on your account, or turned off in Payment methods | Turn it on, or ask VEXPay to enable it. |
| Buyer paid but the checkout keeps waiting | Paid from another phone or a different amount | After 5 minutes, the buyer enters the bank and reference. See Pago Móvil not found. |
| Payment expired, then the buyer paid | The transfer arrived after 15 minutes | It is not credited automatically. Contact VEXPay support with the reference. |
| Never send money to Test details | Test checkouts show placeholder receiving details | Use Simular pago recibido in Test. |
Related: Pago Móvil verification · Payment links