Developer guide
VEXPay siteAPI reference
Browse documentation

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

  1. Check that Pago Móvil is available

    GET /v1/payment-methods must show pago_movil with available: true. If it shows a reason (not_enabled or receiving_account_not_configured), contact VEXPay.

  2. Create the session

    Call POST /v1/checkout/sessions with your amount in USD and methods: ["pago_movil"]. Keep the session id with your order.

  3. Send the buyer the url

    Share the url from the response by WhatsApp, email or a redirect. The link is valid for expiresInMinutes (default 60).

  4. 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.

  5. VEXPay confirms it

    When the transfer arrives, the checkout shows the receipt and payment.completed fires with your reference in checkoutSession. If the buyer paid from another phone, after 5 minutes they can enter the bank and reference instead.

curlbash
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 paid in GET /v1/checkout/sessions/:id and payment.completed arrives with livemode: false.
  • On Live, the receipt shows the bank reference.

If something goes wrong

SymptomLikely causeWhat to do
400 invalid_data naming pago_movilNot enabled on your account, or turned off in Payment methodsTurn it on, or ask VEXPay to enable it.
Buyer paid but the checkout keeps waitingPaid from another phone or a different amountAfter 5 minutes, the buyer enters the bank and reference. See Pago Móvil not found.
Payment expired, then the buyer paidThe transfer arrived after 15 minutesIt is not credited automatically. Contact VEXPay support with the reference.
Never send money to Test detailsTest checkouts show placeholder receiving detailsUse Simular pago recibido in Test.

Related: Pago Móvil verification · Payment links