Skip to content
StraventaDocs
Payment Methods

DANA

DANA e-wallet — T+1 settlement, programmatic refunds

DANA accepts payment by redirecting the payer into the DANA mobile app (or web flow for non-app users). Refunds credit back to the payer's DANA balance within 1–3 business days.

FieldValue
allowed_channels valueewallet_dana
TTL15 min
Refund supportProgrammatic via POST /v1/payments/intents/{id}/attempts/{attemptId}/refunds
SettlementT+1
Channel-typed response fieldsredirect_url (deeplink to DANA app or web flow)

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": 85000,
    "max_uses": 1,
    "allowed_channels": ["ewallet_dana"]
  }'

Redirect the payer to redirect_url (or checkout_url for the 505pay-hosted flow). On mobile this opens the DANA app; on desktop it shows the DANA web checkout.

Sandbox simulator

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

Refunds

curl -X POST \
  "https://sandbox.505pay.link/v1/payments/intents/$INTENT_ID/attempts/$ATTEMPT_ID/refunds" \
  -H "Authorization: Bearer $PAYOPS_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: refund-$INTENT_ID-1" \
  -d '{"amount_idr": 85000, "reason": "customer_request"}'

Webhook events

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

See Payment lifecycle.

Was this page helpful?

On this page