Skip to content

Check Transaction Status

Information

This API is requested from the Merchant during query payment or check status to Ifortepay.

Path/v1.0/bnpl/check-transaction-status
HTTP MethodPOST
Service Code94
Type FormatJSON

Request Body

ParameterData TypeMandatoryLengthDescription
originalPartnerReferenceNoStringM64ID transaction generated by merchant
originalReferenceNoStringM64ID transaction generated by Ifortepay
serviceCodeStringM2Transaction type indicator (service code of the original transaction request), e.g. 91 for online transaction, 92 for PoS checkout
additionalInfoObjectO

Example Request

Details
sh
curl --location 'https://api-stage.ifortepay.id/v1.0/bnpl/check-transaction-status' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2020-12-18T10:55:00+07:00' \
--header 'X-SIGNATURE: AFenhbL7QQ6wjA/UbmO7wzxT13X1H54gvIgdl9gZNT4TFGllCeT7GG4w0uUylpXUni0iFC9vILRPgNx622ZjodrJ7x4pf09FY7Emvs1vb7QHk2Xz+8AE6RuiRdGKlWKjv7Qkhw5cEvfJip+qtG7DaLzmXm7p4t96/QXMmkahaJQ2qkifGjkkHYWQGPFYfZEUY/q3IXHFo4m331ju/W9i4Ij4yxKw1kjIUi3rg9lSzUq/LI8VKthDvoDf1znB9ll+j7OQBBcpCvTtBhKmVR+cbrSjwKTp+24iXz0rDJ8rK2l79zV7pdjbeovtWUIV6Z1Xjqu4OYTdlp8RydQu3XSZsA==' \
--header 'X-PARTNER-ID: MC2025059906' \
--header 'X-EXTERNAL-ID: 96758858440652' \
--header 'CHANNEL-ID: PL001' \
--data '{
    "originalReferenceNo": "0196f20f-5026-7002-8a01-eae905b67336",
    "originalPartnerReferenceNo": "85430867583036",
    "serviceCode": "92"
}'
go
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "https://api-stage.ifortepay.id/v1.0/bnpl/check-transaction-status"
  method := "POST"

  payload := strings.NewReader(`{
    "originalReferenceNo": "0196f20f-5026-7002-8a01-eae905b67336",
    "originalPartnerReferenceNo": "85430867583036",
    "serviceCode": "92"
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("X-TIMESTAMP", "2020-12-18T10:55:00+07:00")
  req.Header.Add("X-SIGNATURE", "AFenhbL7QQ6wjA/UbmO7wzxT13X1H54gvIgdl9gZNT4TFGllCeT7GG4w0uUylpXUni0iFC9vILRPgNx622ZjodrJ7x4pf09FY7Emvs1vb7QHk2Xz+8AE6RuiRdGKlWKjv7Qkhw5cEvfJip+qtG7DaLzmXm7p4t96/QXMmkahaJQ2qkifGjkkHYWQGPFYfZEUY/q3IXHFo4m331ju/W9i4Ij4yxKw1kjIUi3rg9lSzUq/LI8VKthDvoDf1znB9ll+j7OQBBcpCvTtBhKmVR+cbrSjwKTp+24iXz0rDJ8rK2l79zV7pdjbeovtWUIV6Z1Xjqu4OYTdlp8RydQu3XSZsA==")
  req.Header.Add("X-PARTNER-ID", "MC2025059906")
  req.Header.Add("X-EXTERNAL-ID", "96758858440652")
  req.Header.Add("CHANNEL-ID", "PL001")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
js
const axios = require('axios');
let data = JSON.stringify({
  "originalReferenceNo": "0196f20f-5026-7002-8a01-eae905b67336",
  "originalPartnerReferenceNo": "85430867583036",
  "serviceCode": "92"
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api-stage.ifortepay.id/v1.0/bnpl/check-transaction-status',
  headers: { 
    'Content-Type': 'application/json', 
    'X-TIMESTAMP': '2020-12-18T10:55:00+07:00', 
    'X-SIGNATURE': 'AFenhbL7QQ6wjA/UbmO7wzxT13X1H54gvIgdl9gZNT4TFGllCeT7GG4w0uUylpXUni0iFC9vILRPgNx622ZjodrJ7x4pf09FY7Emvs1vb7QHk2Xz+8AE6RuiRdGKlWKjv7Qkhw5cEvfJip+qtG7DaLzmXm7p4t96/QXMmkahaJQ2qkifGjkkHYWQGPFYfZEUY/q3IXHFo4m331ju/W9i4Ij4yxKw1kjIUi3rg9lSzUq/LI8VKthDvoDf1znB9ll+j7OQBBcpCvTtBhKmVR+cbrSjwKTp+24iXz0rDJ8rK2l79zV7pdjbeovtWUIV6Z1Xjqu4OYTdlp8RydQu3XSZsA==', 
    'X-PARTNER-ID': 'MC2025059906', 
    'X-EXTERNAL-ID': '96758858440652', 
    'CHANNEL-ID': 'PL001'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
php
<?php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api-stage.ifortepay.id/v1.0/bnpl/check-transaction-status',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "originalReferenceNo": "0196f20f-5026-7002-8a01-eae905b67336",
    "originalPartnerReferenceNo": "85430867583036",
    "serviceCode": "92"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'X-TIMESTAMP: 2020-12-18T10:55:00+07:00',
    'X-SIGNATURE: AFenhbL7QQ6wjA/UbmO7wzxT13X1H54gvIgdl9gZNT4TFGllCeT7GG4w0uUylpXUni0iFC9vILRPgNx622ZjodrJ7x4pf09FY7Emvs1vb7QHk2Xz+8AE6RuiRdGKlWKjv7Qkhw5cEvfJip+qtG7DaLzmXm7p4t96/QXMmkahaJQ2qkifGjkkHYWQGPFYfZEUY/q3IXHFo4m331ju/W9i4Ij4yxKw1kjIUi3rg9lSzUq/LI8VKthDvoDf1znB9ll+j7OQBBcpCvTtBhKmVR+cbrSjwKTp+24iXz0rDJ8rK2l79zV7pdjbeovtWUIV6Z1Xjqu4OYTdlp8RydQu3XSZsA==',
    'X-PARTNER-ID: MC2025059906',
    'X-EXTERNAL-ID: 96758858440652',
    'CHANNEL-ID: PL001'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Response

ParameterData TypeMandatoryLengthDescription
responseCodeStringM7Response code
responseMessageStringM150Response description
originalPartnerReferenceNoStringM64ID transaction generated by the merchant
originalReferenceNoStringM64ID transaction generated by Ifortepay
serviceCodeStringM2Transaction type indicator (e.g. 91 for online transaction, 92 for PoS checkout)
paymentDetailsObjectM
paymentDetails.amountObjectAmount of the transaction
paymentDetails.amount.valueStringM16,2
paymentDetails.amount.currencyStringM3
paymentDetails.totalAmountObject
paymentDetails.totalAmount.valueStringM16,2Total amount of the transaction. If IDR, value includes 2 decimal digits (e.g. 10000.00)
paymentDetails.totalAmount.currencyStringM3Currency
paymentChannelStringM30Description name of the payment channel
paymentSystemStringM50Channel mode
itemDetailsArray of ObjectsM
itemDetails.itemIdStringM64Can be product SKU. Use one of these for fees: shippingfee, adminfee, taxfee, discount, additionalfee, insurancefee
itemDetails.nameStringM128Product name
itemDetails.amountObjectMProduct price
itemDetails.amount.valueStringM16,2If IDR, the value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 with 2 decimal
itemDetails.amount.currencyStringM3Currency (Format: ISO4217), fixed value: IDR
itemDetails.urlStringC256URL of the product on the merchant’s site / platform. For online transaction cannot null
itemDetails.imageUrlStringO256URL of the image product on the merchant’s site / platform.
itemDetails.categoryenumM256Category of the product. \nMandatory for payment type checkout URL.
itemDetails.qtyIntegerM8Quantity of the product
itemDetails.parentTypeStringMPossible values: SELLER \nMandatory for payment type checkout URL.
itemDetails.parentIdStringCIt will correspond to the SELLER ID if the parentType is SELLER \nMandatory for payment type checkout URL.
tenureStringCInstallment options chosen by the customer. Possible values: 30_days, 3_months, 6_months, 12_months, 15_months, 18_months \nOnly displayed when the transaction has been paid.
latestTransactionStatusStringM2Refer to Appendix 1 - Transaction Status for specific transaction statuses.
transactionStatusDescStringM50Description status transaction
createdAtStringM25Created time
paidTimeStringCThe value will be returned for successful payment.
customerDetailsObjectMCustomer details
customerDetails.firstNameStringM16Customer’s first name
customerDetails.lastNameStringO16Customer’s last name
customerDetails.emailStringM64The customer’s email that is registered in the merchant site/platform
customerDetails.phoneStringM16The customer’s phone that is registered in the merchant site/platform
callbackUrlStringMMerchant payment notification URL
cancelReturnUrlStringORedirect to the URL merchant if the customer chooses to cancel the payment before completion
returnUrlStringORedirect to the URL merchant after the transaction is complete
validityPeriodStringOThe time when the payment is valid. Use format ISO-8601. Maximum expiry time is 1x24 hours
totalRefundedAmountObjectCThe value will be returned for refunded payment
totalRefundedAmount.valueStringM16,2Total amount of the refund. If it's IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 with 2 decimal
totalRefundedAmount.currencyStringM3Currency
refundHistoryArray of objectCThe value will be returned for refunded payment
refundHistory.refundAmountObjectM16,2
refundHistory.refundAmount.valueStringM16,2Total amount of the refund. If it's IDR then value includes 2 decimal digits. e.g. IDR 10.000,- will be placed with 10000.00 with 2 decimal
refundHistory.refundAmount.currencyStringM3Currency
refundHistory.refundTimeStringMISO-8601

Example Response

Details
{
    "responseCode": "2009400",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "16038677220953",
    "originalReferenceNo": "01984087-3a80-7079-8062-76343f70e304",
    "serviceCode": "91",
    "paymentDetails": {
        "amount": {
            "value": "25000.00",
            "currency": "IDR"
        },
        "totalAmount": {
            "value": "25000.00",
            "currency": "IDR"
        }
    },
    "paymentChannel": "INDODANA",
    "paymentSystem": "JUMPAPP",
    "itemDetails": [
        {
            "itemId": "FOOD01",
            "name": "RUJAK",
            "amount": {
                "value": "25000.00",
                "currency": "IDR"
            },
            "url": "https://www.google.com/",
            "category": "0017",
            "qty": 1,
            "parentType": "SELLER",
            "parentId": "123"
        }
    ],
    "tenure": "1_months",
    "latestTransactionStatus": "00",
    "createdAt": "2025-07-25T14:41:01+07:00",
    "paidTime": "2025-07-25T14:41:33+07:00",
    "customerDetails": {
        "firstName": "Quality",
        "lastName": "Assurance",
        "email": "qa@ifortepay.id",
        "phone": "089121313131"
    },
    "callbackUrl": "https://mcpid.proxy.beeceptor.com/BNPL",
    "cancelReturnUrl": "https://www.google.com/",
    "returnUrl": "https://www.google.com/",
    "validityPeriod": "2025-07-25T14:56:00+07:00",
    "refundHistory": [],
    "transactionStatusDesc": "Success"
}

iFortepay API Documentation