跳转到内容
PGSwift Docs
文档/QRIS

QRIS

商户可通过此接口创建用于处理交易的结账页面

POST /api/create/qris

请求

名称类型必填输入校验描述
merchant_transaction_idstringtrue商户提供的唯一交易标识符
amountstringtrue数字类型,1–12 位交易金额的数值表示
currencystringtrue允许的值:"IDR"交易使用的货币(仅支持印尼卢比)
customer_namestringtrue长度在 5–25 个字符之间,允许字符:a–z、A–Z、0–9、-(短横线)、(空格)与该交易关联的客户姓名
product_namestringtrue长度在 5–25 个字符之间,允许字符:a–z、A–Z、0–9、-(短横线)、(空格)与该交易关联的产品名称
descriptionstringfalse可选的交易详细信息
success_redirect_urlstringfalse付款成功后重定向客户的 URL。也支持移动端深度链接 (Deep Link) URL。
{
  "merchant_transaction_id": "ICZ10000001",
  "amount": "100000",
  "currency": "IDR",
  "description": "Lorem Ipsum",
  "customer_name": "John Doe",
  "product_name": "Product Test",
  "success_redirect_url": "https://example.com/success"
}

响应

名称描述
status请求状态指示器。成功时为 true,失败时为 false
message请求结果消息。请求成功时通常为 "success"
data.transaction_id系统生成的唯一交易标识符
data.qr_url二维码图片(PNG)的 URL。可直接展示给客户扫描。
data.qr_content二维码中编码的 QRIS 载荷字符串(EMVCo 格式)。可用于自行渲染二维码或构建应用深度链接。
data.redirect_url展示同一二维码的托管收银页面。如不自行渲染二维码,可将客户重定向至此。
data.expired_at支付过期时间(ISO 8601)。超过该时间后二维码无法再支付。
data.expired_at_iso与 expired_at 相同的过期时间,ISO 8601 格式并带偏移量(例如 "2025-02-26T19:00:00+07:00")。所有渠道格式一致。expired_at 为 null 时为 null。
data.payment_channel标准化支付渠道,所有支付类型和服务商使用同一格式:例如 QRIS、VA_BRI、BANK_BCA、EWALLET_DANA(支付类型前缀 + 附录中的代码)。无法确定渠道时为 null。建议优先使用此字段而非 channel。
data.success_redirect_url付款成功后重定向客户的 URL。也支持移动端深度链接 (Deep Link) URL。
{
    "status": true,
    "message": "success",
    "data": {
        "transaction_id": "8366a675-f1cc-418c-b3a8-358410671ca0",
        "payment_channel": "QRIS",
        "qr_url": "{host}/images/payment/qris/BP1f44d20caefb8b0ef181797bffed088c.png",
        "qr_content": "00020101021226660014ID.EXAMPLE.WWW01189360000000000000000215ID12345678901230303UMI51440014ID.CO.QRIS.WWW0215ID12345678901230303UMI5204599953033605405100005802ID5913EXAMPLE STORE6007JAKARTA61051234562230703A010812qris_invoice6304FF2D",
        "redirect_url": "{host}/checkout/8366a675-f1cc-418c-b3a8-358410671ca0/qris",
        "success_redirect_url": "https://example.com/success",
        "expired_at": "2025-02-26T12:00:00.000000Z",
        "expired_at_iso": "2025-02-26T19:00:00+07:00"
    }
}

Webhook