Skip to content
StraventaDocs
Payment Methods

QRIS Static

One QR per merchant — payer enters amount; T+1 settlement

QRIS Static prints/displays a single QR per merchant location. The payer scans it and enters the amount in their banking app. Lower friction for repeated small payments (parking, kiosks, donation boxes).

FieldValue
allowed_channels valueqris
TTL24 h
Refund supportManual only — issue a bank transfer
SettlementT+1
Channel-typed response fieldsqr_string, checkout_url

Create intent

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": ["qris"]
  }'

For multi-use static QRs (kiosks etc.), set max_uses: 0 (unlimited).

Sandbox simulator

curl -X POST "https://sandbox.505pay.link/v1/payments/intents/$INTENT_ID/sandbox-complete" \
  -H "Authorization: Bearer $PAYOPS_SECRET_KEY"

Webhook events

  • payment_intent.created
  • payment.completed
  • payment_intent.expired

See Payment lifecycle.

Was this page helpful?

On this page