Skip to content

Payment Notification SNAP

The Payment Notify feature allows merchants to receive the final transaction status (Success (00) or Failed (06)). However, for the DANA payment channel, only a Success (00) callback is sent.

NameAPI Direct Debit Payment Notify
Service Code56
Path/{version}/debit/notify
Version1.0
HTTP MethodPOST
Type FormatJSON

Transaction status later will be sent as payment notification to your provided callback URL. The callback will be sent after the transaction status gets final status. The provided URL must return a HTTP Status Code 200 to iFortepay. Our Notification Callback will retry 3 times if the provided URL did not return HTTP Status Code 200 to iFortepay. We will hit your URL using HTTP Method POST request. The detail of the request header will be in a separate document.

Request Body E-Wallet and Direct Debit

Details
FieldTypeMandatoryLengthDescription
originalPartnerReferenceNoStringO64Original transaction identifier on service consumer system
originalReferenceNoStringM64Original transaction identifier on service provider system
merchantIdStringO64Merchant identifier that is unique per each merchant . Applicable only to BRI Direct Debit.
amountObjectO
amount.valueString (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
amount.currencyStringM3Currency
latestTransactionStatusStringM200 - Success 01 - Initiated 03 - Pending 04 - Refunded 06 - Failed 07 - Not Found
transactionStatusDescStringO50Description status transaction
createdTimestringO25Transaction created time.
finishedTimestringO25Transaction finished time.
additionalInfoObjectOAdditional information.
Applicable only to E-Wallet such as DANA, LinkAja, OVO.
additionalInfo.payOptionDetailsArray of ObjectOPayment option used
additionalInfo.payOptionDetails.payMethodStringM64Payment Method (e.g., WALLET)
additionalInfo.payOptionDetails.payOptionStringM64Provider (e.g., OVO, DANA, LinkAja,)
additionalInfo.accountDetails.idStringC50Payer's ID. Mandatory for OVO.
additionalInfo.accountDetails.idTypeStringCenumPHONE, EMAIL, CASHTAG
additionalInfo.feeAmountobjectOAdmin fee or Convenience fee
additionalInfo.feeAmount.valuestringM16,2Fee amount value
additionalInfo.feeAmount.currencystringM3Fee currency
additionalInfo.itemDetailsArray of ObjectsOExplain the items purchased
additionalInfo.itemDetails.itemIdStringMID of product. Mandatory if item details is filled
additionalInfo.itemDetails.nameStringMName of product. Mandatory if item details is filled
additionalInfo.itemDetails.amountStringM
additionalInfo.itemDetails.amount.valueStringMPrice per unit. Mandatory if item details is filled. Accumulation amount should be match with original amount.
additionalInfo.itemDetails.amount.currencyStringMMandatory if item details is filled
additionalInfo.itemDetails.qtyIntegerMNumber of product units. Mandatory if item details is filled. Maximum 99999999
additionalInfo.itemDetails.descriptionStringMDescription of product
additionalInfo.failedReasonStringO255Only available for OVO. the value is failed response message

Sample Request E-Wallet (DANA)

Details
sh
POST .../v1.0/debit/notify HTTP/1.2
Content-type: application/json
X-TIMESTAMP: 2020-12-23T07:44:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
CHANNEL-ID: 95221

{
    "originalPartnerReferenceNo": "QA-20240913-004",
    "originalReferenceNo": "0191e99a-c403-7cb2-b653-48a54b3a45d7",
    "amount": {
        "value": "12500.00",
        "currency": "IDR"
    },
    "latestTransactionStatus": "00",
    "transactionStatusDesc": "Success",
    "createdTime": "2024-09-13T11:18:40+07:00",
    "finishedTime": "2024-09-13T11:18:40+07:00",
    "additionalInfo": {
        "payOptionDetails": [
            {
                "payMethod": "WALLET",
                "payOption": "OVO"
            }
        ],
        "accountDetails": {
            "id": "08888999999",
            "idType": "PHONE"
        },
        "feeAmount": {
            "value": "1500.00",
            "currency": "IDR"
        },
        "itemDetails": [{
            "itemId": "F001",
            "name": "Dress",
            "amount": "150000",
            "qty": "1",
            "description": "Dress Wanita Pink"
        }]
    }
}

Sample request Direct Debit (BRI)

Details
sh
{
    "originalPartnerReferenceNo": "QA-20240913-004",
    "originalReferenceNo": "0191e99a-c403-7cb2-b653-48a54b3a45d7",
    "merchantId": "IFP2024078302",
    "amount": {
        "value": "10000.00",
        "currency": "IDR"
    },
    "latestTransactionStatus": "00",
    "transactionStatusDesc": "Success",
    "createdTime": "2024-09-13T11:18:40+07:00",
    "finishedTime": "2024-09-13T11:18:40+07:00"
}

Response Header E-Wallet and Direct Debit

Details
FieldTypeMandatoryDescription
Content-TypeStringMString represents indicate the media type of the resource (use: application/json)
X-TIMESTAMPStringMClient's current local time in yyyy-MMddTHH:mm:ss.SSSTZD format

Response Body E-Wallet and Direct Debit

Details
FieldTypeMandatoryLengthDescription
responseCodeStringM7Response code
responseMessageStringM150Response description

Sample Response E-Wallet and Direct Debit

Details
json
{
  "responseCode": "2005600",
  "responseMessage": "Successful"
}

iFortepay API Documentation