Smart Voucher Payments

🎟️ Smart Voucher (SMART_VOUCHER)

Overview

SMART_VOUCHER enables payments using prepaid codes, gift vouchers, or printed PINs, often popular in:

  • Unbanked regions
  • Retail-to-online transitions
  • Gaming and top-up services

This method abstracts integrations with various voucher providers, allowing merchants to support multiple voucher systems through a single, unified API.


🧾 Use Cases

  • Gift card redemption
  • Retail-issued top-up codes
  • Government subsidy vouchers
  • Offline-to-online bridging (e.g., kiosk to digital)

📨 Request: SmartVoucherPayload

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways SMART_VOUCHER
paymentTypeApmFlowTypeYesAlways VOUCHER
voucherCodeString?✅ RequiredUnique code printed on or associated with voucher
voucherExpirationDateString?OptionalExpiration in ISO 8601 format (e.g., 2025-12-31)
💡

You must provide a valid voucherCode issued by a supported provider.


📥 Response: SmartVoucherResponseData

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways SMART_VOUCHER
paymentTypeApmFlowTypeYesAlways VOUCHER
redirectUrlString?OptionalIf needed, URL to complete redemption on provider site
iframeUrlString?OptionalIframe-embeddable version of the redemption flow (if supported)
providerTransactionIdString✅ RequiredTransaction reference returned by voucher provider
voucherBalanceString?OptionalRemaining or redeemed value of the voucher
sessionTokenString?OptionalToken to track session or enable polling
voucherMetadataMap<String, String>?OptionalExtra provider data (e.g., currency, channel, issuer)
voucherCodeString?OptionalEchoed voucher code
voucherExpirationDateString?OptionalExpiration date from provider

✅ Best Practices

  • 🔑 Always validate the voucher code format before submission.
  • 📆 Use voucherExpirationDate to guide user experience or fallback prompts.
  • 💳 Surface voucherBalance in the UI if top-up or multi-use vouchers are supported.
  • 🧾 Use voucherMetadata for reconciliation, UX hints (e.g., issuer logo), or reporting.
  • 📡 Prefer iframe integration (iframeUrl) for smoother embedded experiences.