Singapay Home Page
Logo Icon
  1. QRIS (Money In)
  2. QRIS - Generate

Information

MethodPathFormatAuthentication
POST/api/v1.0/qris-dynamic/{account_id}/generate-qrjsonOAuth 2.0 with Access Token

Request Details

Headers Structure

FieldValueTypeMandatoryLengthDescriptionExample
X-PARTNER-IDapi_keyAlphanumericMandatoryAPI key obtained from the merchant dashboard.b3ed7d4b-a96c-6c08-b3c7-12c3124242d9
Acceptapplication/jsonAlphabeticMandatorySpecifies JSON as the expected response format.application/json
AuthorizationBearer {bearerToken}AlphanumericMandatoryBearer token obtained from the get access token endpoint.Bearer eyJ0eXAiOiJKV1{…}

Body Structure

FieldTypeMandatoryLengthDescriptionExample
amountNumericMandatoryTransaction amount50000
expired_atStringMandatoryExpiration datetime (Y-m-d H:i:s)2025-08-30 12:00:00
merchant_reff_noStringOptionalMerchant reference number for tracing (max 255 characters). This value will be returned in webhook callback.INV-2026-001

Body Example

{
    "amount": 50000,
    "expired_at": "2025-08-30 12:00:00",
    "merchant_reff_no": "INV-2026-001"
}

Response Details

Response Structure

FieldTypeMandatoryLengthDescriptionExample
statusNumericMandatory3HTTP Status Code200
successBooleanMandatory12xx is true, 4xx-5xx is falsetrue
dataObjectConditionalTransaction object
> idNumericMandatoryAccount ID2
> reff_noStringMandatoryReference Number6601K5WZZ71ZQ3KQJZZRV811XXHE
> merchant_reff_noString/NullOptionalMerchant reference number for tracingINV-2026-001
> statusStringMandatoryTransaction statusopen
> typeStringMandatoryTransaction typempm-dynamic
> amountNumericMandatoryTransaction amount50000
> total_amountNumericMandatoryTotal amount (amount)52000
> qr_dataStringMandatoryQRIS Data String000201010212…
> expired_atStringMandatoryExpiration datetime (Y-m-d H:i:s)2025-12-30 12:00:00
> created_atStringMandatoryCreation datetime (Y-m-d H:i:s)2025-09-24 11:33:38

Response Example

Success: Here’s an example of a successful response.

{
    "status": 200,
    "success": true,
    "data": {
        "id": 2,
        "reff_no": "6601K5WZZ71ZQ3KQJZZRV811XXHE",
        "merchant_reff_no": "INV-2026-001",
        "status": "open",
        "type": "mpm-dynamic",
        "amount": 50000,
        "total_amount": 52000,
        "qr_data": "00020101021226570015ID.SINGAPAY.WWW01110509190001802122183098102390303UMI51440014ID.CO.QRIS.WWW02157434441747371980303UMI520472995303360540550000550202560420005802ID5923PT Tarsius Trusty Tahir6007Jakarta6105924396253051017586884180703C0108286601K5WZZ71ZQ3KQJZZRV811XXHE63042CEF",
        "expired_at": "2025-12-30 12:00:00",
        "created_at": "2025-09-24 11:33:38"
    }
}

Error: This is an example of an unsuccessful request.

{
    "message": "The expired at field must be a date after now.",
    "errors": {
        "expired_at": [
            "The expired at field must be a date after now."
        ]
    }
}