Skip to content

Payment SNAP

Endpoint to initiate payment (with or without OTP) using a registered Direct Debit Card.

NameAPI Direct Debit Payment
Service Code54
Path/v1.0/debit/payment-host-to-host
Version1.0
HTTP MethodPOST
Type FormatJSON

Request Body

FieldTypeMandatoryLengthDescription
partnerReferenceNoStringM64Transaction identifier on service consumer system
bankCardTokenStringM560Token for Payment
chargeTokenStringM50string code for verification OTP. Fill with "null"
amountObjectM
amount.valueString (ISO4217)M16,2Net amount of the transaction. If it's IDR then the value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00
amount.currencyStringM3Currency. Possible value: IDR
urlParamArray of ObjectO
urlParam.urlstringM512The URL
urlParam.typestringM32URL Type. Possible value: PAY_NOTIFY
urlParam.isDeeplinkstringM1Whether the URL is a deep link URL or not. Possible value: N
pointOfInitiationStringO20used for getting more info regarding the source of request of the user. Possible value: - Mobile App - Web App - Others
payOptionDetailsArray of ObjectOPayment option that will be used for this payment
payOptionDetails.payMethodStringM64Payment Method. Possible value: DEBIT_CARD
payOptionDetails.payOptionStringM64Payment option which shows the provider of this payment. Possible value: BRI
additionalInfoObjectOAdditional information
additionalInfo.isWithOtpStringM5With OTP or Without OTP. Possible value: - Y: With OTP - N: Without OTP
additionalInfo.remarksStringO64Transaction description
additionalInfo.billDetailsArray of ObjectO
billDetails.billNameStringO20Bill Name
billDetails.billEmailStringO50Bill Email
billDetails.billPhoneNumerStringO30Bill Phone Number

Request sample with OTP:

sh
--header 'X-TIMESTAMP: 2020-12-18T10:55:00+07:00' \
--header 'X-SIGNATURE: ZF9tnd42ngwP6eStSRY4dBQdGrzrq/ucryeRwOROdJ4o1L99w3baE47niPa+q9X2AzMbKNiTvMNxBYJ48lp1x4rXLGUTJ7K3su7tKXjUndAn9KGSjZFmvFxrZFllQv9mEh0BGYvLo9B+Z9mbAcHztCRJuU0VgIYWrAAD3VaefSSaP/LLdN0yLuGDJiDPeOr8gqEiQh8SDOnEhGo8a4URmwqQLr2nyqXQR+HcYAmyonXhCh/JJ/NQamYpuzrTUrmXw6PpHiQBpsAMEPqwRDaENJ0c0LJeTiNW2SSLwNn9+zE3kPt0w9SAh7a2lxJg/T+cLywGEVnoNExwJLmDcxrDhw==' \
--header 'X-Partner-Id: IFP2024078302' \
--header 'CHANNEL-ID: DD003' \
--header 'X-EXTERNAL-ID: 38258699010458' \
--header 'Content-Type: application/json' \
--data '{
    "partnerReferenceNo": "QA-20240731-005",
    "bankCardToken": "card_.eyJpYXQiOjE3MjE4OTM3NDQsImlzcyI6IkJhbmsgQlJJIC0gRENFIiwianRpIjoiZTcxZTUxNTUtMWRkZS00OWM1LWJiYmQtNjJlMjJmOGJmNzE0IiwicGFydG5lcklkIjoi77-9Iiwic2VydmljZU5hbWUiOiJERF9FWFRFUk5BTF9TRVJWSUNFIn0.TS9Mw1ZvxplurJAsONIbvSqgb3-QnupvvLeNWr_iklRgD_qazjqqIF2qFYZHD9eb1B2II_bKgmtcorrcOSthj4xj1PokCC5RhdKdOMmPW2hNkcyagMLCrmqNPf7QRz12WCCxJk8Z1gA1ey_YS4UQBL4qKhZr9qaXJwlhO_gyiVuQVTYMeqrI4v9Z_ZWXzQI05ySfQD46IzvD1wblewsKJbv5GUwxgGvB5SjVq2-iYkuMeBU1YF51fM6s5PtWrohtcTh3EjLiK_SPKo_To6iHnjg1gSxufnqNrr8_Cgr8d2vXwr_Yk2TaoVKSrnIV9muphaescrMYYJ6V6EPMCQu5jw",
    "chargeToken": "null",
    "additionalInfo": {
        "isWithOtp": "Y",
        "remarks": "Testing Remarks",
        "billDetails": {
              "billName": "Irham Raziqony",
              "billEmail": "iraziqony@gmail.com",
              "billPhoneNumber": "62xxxxxxxxxxxxx"
        }
    },
    "amount": {
        "currency": "IDR",
        "value": "15000.00"
    },
    "pointOfInitiation": "Web app",
    "payOptionDetails": [
        {
            "payOption": "BRI",
            "payMethod": "DEBIT_CARD"
        }
    ],
    "urlParam": [
        {
            "type": "PAY_NOTIFY",
            "isDeepLink": "N",
            "url": "https://google1.com"
        }
    ]
}'

Request sample without OTP:

sh
--header 'X-TIMESTAMP: 2020-12-18T10:55:00+07:00' \
--header 'X-SIGNATURE: lIXMYYeKUokauLbrmoBpS4V+HSk9QIKUN0V2jUsuBt/kjPidC+vQ/Ah1kEoCz0+XEuJ3wVucH+cMqRbpvTkkiK5VQfifPXm8Gyaem0WOtEc+j1Yuv600KWThPvnspxykWHxPYJzV/TeH8BywXyqefmo+8R5ehCFZZvKMtF8g2MqqxgiaKHmBjhPp5CgU0sTLSpx7V22E5ZmU+mzW/Pqp8DJO6IN0hSbXLHUwsEWjyhUrTD+1eyQXo8qcxis/VP2YTZUDXQrCMUKa2w6vGY/k78HmHZoPxzPfcBgmxEYCJfOlFoNATOAiDroF4mdYcE5hE8+sz7+qbiZ27ePtvHXDqQ==' \
--header 'X-Partner-Id: IFP2024078302' \
--header 'CHANNEL-ID: DD003' \
--header 'X-EXTERNAL-ID: 16144400187635' \
--header 'Content-Type: application/json' \
--data '{
    "partnerReferenceNo": "QA-20240731-006",
    "bankCardToken": "card_.eyJpYXQiOjE3MjE4OTM3NDQsImlzcyI6IkJhbmsgQlJJIC0gRENFIiwianRpIjoiZTcxZTUxNTUtMWRkZS00OWM1LWJiYmQtNjJlMjJmOGJmNzE0IiwicGFydG5lcklkIjoi77-9Iiwic2VydmljZU5hbWUiOiJERF9FWFRFUk5BTF9TRVJWSUNFIn0.TS9Mw1ZvxplurJAsONIbvSqgb3-QnupvvLeNWr_iklRgD_qazjqqIF2qFYZHD9eb1B2II_bKgmtcorrcOSthj4xj1PokCC5RhdKdOMmPW2hNkcyagMLCrmqNPf7QRz12WCCxJk8Z1gA1ey_YS4UQBL4qKhZr9qaXJwlhO_gyiVuQVTYMeqrI4v9Z_ZWXzQI05ySfQD46IzvD1wblewsKJbv5GUwxgGvB5SjVq2-iYkuMeBU1YF51fM6s5PtWrohtcTh3EjLiK_SPKo_To6iHnjg1gSxufnqNrr8_Cgr8d2vXwr_Yk2TaoVKSrnIV9muphaescrMYYJ6V6EPMCQu5jw",
    "chargeToken": "null",
    "additionalInfo": {
        "isWithOtp": "N",
        "remarks": "Testing Remarks",
        "billDetails": {
              "billName": "Irham Raziqony",
              "billEmail": "iraziqony@gmail.com",
              "billPhoneNumber": "62812912301239"
        }
    },
    "amount": {
        "currency": "IDR",
        "value": "15000.00"
    },
    "pointOfInitiation": "Web app",
    "payOptionDetails": [
        {
            "payOption": "BRI",
            "payMethod": "DEBIT_CARD"
        }
    ],
    "urlParam": [
        {
            "type": "PAY_NOTIFY",
            "isDeepLink": "N",
            "url": "https://google1.com"
        }
    ]
}'

Response Body with OTP

FieldTypeMandatoryLengthDescription
responseCodeStringM7Response code
responseMessageStringM150Response description
referenceNoStringM64Transaction identifier on service provider system. Must be filled upon successful transaction
partnerReferenceNoStringO64Transaction identifier on service consumer system
additionalInfoObjectOAdditional information
additionalInfo.chargeTokenString (ISO4217)M16,2string code for verification OTP
additionalInfo.remarksStringO64Transaction description

Response sample with OTP:

sh
    "additionalInfo": {
        "chargeToken": "CHARGE_TIW6JE3N2MQAU7IG24G5XO5JBBC7ZKCH::0146",
        "remarks": "Testing Remarks"
    },
    "partnerReferenceNo": "QA-20240731-005",
    "referenceNo": "019106cd49f37da3908224ae6db2e800",
    "responseCode": "2005400",
    "responseMessage": "Successful"
}

Response Body without OTP

FieldTypeMandatoryLengthDescription
responseCodeStringM7Response code
responseMessageStringM150Response description
referenceNoStringM64Transaction identifier on service provider system. Must be filled upon successful transaction
partnerReferenceNoStringO64Transaction identifier on service consumer system
additionalInfoObjectOAdditional information
additionalInfo.amountString (ISO4217)M16,2Net amount of the transaction. If it's IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00
additionalInfo.currencyStringM3Currency
additionalInfo.remarksStringO64Transaction description

Response sample without OTP:

sh
    "additionalInfo": {
        "amount": "15200.00",
        "currency": "IDR",
        "remarks": "Testing Remarks"
    },
    "partnerReferenceNo": "QA-20240731-006",
    "referenceNo": "019106ed8dc274f389e4fe704a1e3df8",
    "responseCode": "2005400",
    "responseMessage": "Successful"
}

iFortepay API Documentation