Skip to content
StraventaDocs
Payment Methods

Payment methods

Channel-by-channel guide — channel codes, TTLs, refund support, sandbox simulators

505pay accepts any of the channels below by passing the channel code in allowed_channels on POST /v1/payments/intents. The intent creation flow is the same for all channels — what changes is the TTL, the refund support, and the way the payer interacts with the QR / VA / e-wallet redirect.

Canonical create-intent call

curl -X POST https://sandbox.505pay.link/v1/payments/intents \
  -H "Authorization: Bearer $PAYOPS_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $YOUR_KEY" \
  -d '{
    "merchant_id": "'"$PAYOPS_MERCHANT_ID"'",
    "amount_idr": 50000,
    "max_uses": 1,
    "allowed_channels": ["<CHANNEL_CODE>"]
  }'

<CHANNEL_CODE> is one of:

Channelallowed_channels valueTTLRefund supportSettlement
QRIS (dynamic or static)qris30 min / 24 hManual onlyT+0 / T+1
Virtual Account — BCAva_bca24 hProgrammaticT+1
Virtual Account — BNIva_bni24 hProgrammaticT+1
Virtual Account — BRIva_bri24 hProgrammaticT+1
Virtual Account — Mandiriva_mandiri24 hProgrammaticT+1
Virtual Account — Permatava_permata24 hProgrammaticT+1
Virtual Account — CIMBva_cimb24 hProgrammaticT+1
GoPayewallet_gopay15 minProgrammaticT+1
OVOewallet_ovo15 minProgrammaticT+1
DANAewallet_dana15 minProgrammaticT+1
ShopeePayewallet_shopeepay15 minProgrammaticT+1
LinkAjaewallet_linkaja15 minProgrammaticT+1
Cash (POS)cashn/a (in-person)ManualT+0
Over-the-Counter — Alfamartotc_alfamart24 hProgrammaticT+1
Over-the-Counter — Indomaretotc_indomaret24 hProgrammaticT+1
Akulaku (PayLater / BNPL)akulaku30 dProgrammaticT+1
Kredivo (PayLater / BNPL)kredivo30 dProgrammaticT+1
Card (3-D-Secure)card_3ds24 hProgrammaticT+1

Multi-channel intents

Pass multiple codes (["va_bca","va_bni","va_bri"]) to let the payer pick on the hosted checkout. Channel-specific behaviour (QR vs VA number vs redirect URL) is encoded in the channel-typed fields of the response.

Decision tree

  • Need instant settlement (T+0)? → QRIS Dynamic
  • B2B / invoicing? → Virtual Account
  • Consumer checkout with loyalty? → GoPay, OVO, ShopeePay
  • Student / young adult segment? → DANA
  • International card? → Card 3DS

Per-channel detail

Sandbox simulators

ChannelHow to simulate completion in sandbox
QRIS Dynamic / StaticDashboard → Payments → Intents → simulate
VA (all banks)POST /v1/payments/intents/{id}/sandbox-complete
E-wallet (GoPay/OVO/DANA/ShopeePay)Dashboard → Payments → Intents → simulate, or POST /v1/payments/intents/{id}/sandbox-complete
Card 3DSPOST /v1/payments/intents/{id}/3ds-callback?auth_code=4111111111111111 (approve) or 4000000000000002 (decline)
Akulaku (BNPL)POST /v1/payments/intents/{id}/sandbox-complete
Kredivo (BNPL)POST /v1/payments/intents/{id}/sandbox-complete

Was this page helpful?

On this page