Feature: Installment

You can use Midtrans Installment Payment feature so that the customers can pay their bills in small amounts over a fixed period of time. These can be Online Installment Payment or Offline Installment Payment depending on the Acquiring Bank and the Card Issuing Bank. Successful request returns transaction_status:capture and is ready for settlement.


📘

Note:

Installment feature is not supported for debit cards



Online Installment Charge Request

In Online Installment feature, the Acquiring Bank and the Card Issuing Bank are the same.

You need a token from Get Card Token response to charge with Online Installment feature.

{
  "payment_type": "credit_card",
  "transaction_details": {
    "order_id": "C17550",
    "gross_amount": 145000
  },
  "credit_card": {
    "token_id": "< your token ID >",
    "bank": "bni",
    "installment_term": 12
  }
}

The credit_card object in Charge request to configure Online Installment feature is identical with Card Charge Request, with the additional attributes given below.

JSON AttributeDescriptionType
token_idToken ID represents customer's card information acquired from Get Card Token response.String
bankThe name of the Acquiring Bank. Note: For Online installment, Acquiring Bank and Card Issuing Bank are the same.String
installment_termInstallment tenure in months.Integer



Online Installment Charge Response and Notifications

Successful installment transaction responds with transaction_status: capture and is ready for settlement.

{
      "status_code": "200",
      "status_message": "Success, Credit Card transaction is successful",
      "transaction_id": "c1e1cc28-5208-4965-bc99-076919dc0a26",
      "order_id": "20527106",
      "gross_amount": "1687180.00",
      "payment_type": "credit_card",
      "transaction_time": "2016-06-19 09:12:15",
      "transaction_status": "capture",
      "fraud_status": "accept",
      "approval_code": "R71372",
      "masked_card": "48111111-1114",
      "bank": "bni",
      "installment_term": "6",
      "channel_response_code": "00",
      "channel_response_message": "Approved",
      "currency": "IDR",
      "card_type": "credit",
      "on_us": true
}
{
  "masked_card": "48111111-1114",
  "approval_code": "R71372",
  "bank": "bni",
  "eci": "01",
  "installment_term": 6,
  "transaction_time": "2016-06-19 09:12:15",
  "gross_amount": "1687180.00",
  "order_id": "20527106",
  "payment_type": "credit_card",
  "signature_key": "4a4e59bdc26b3c473014f8dbc1bb9faf35c1f29c473f48666ea6faaf9d8eb80bf8e47be8d79ef4cdec820c6aecad7da198a64461cdf08937f7c56688fafb8448",
  "status_code": "200",
  "transaction_id": "c1e1cc28-5208-4965-bc99-076919dc0a26",
  "transaction_status": "capture",
  "fraud_status": "accept",
  "status_message": "midtrans payment notification",
  "channel_response_code": "00",
  "channel_response_message": "Approved",
  "card_type": "credit",
  "on_us": false
}

📘

Note

Approve the transaction when fraud_status: challenge to accept it, or the transaction will get cancelled automatically during settlement.




Offline Installment Charge Request

Offline Installment feature allows merchants to do installment conversion for transactions which are not supported by MID installment.

The credit_card object in Charge request to configure Offline Installment feature is identical with Card Charge Request, with the additional attribute bins. The purpose of bins is to limit the use of certain cards depending on the agreement between you and the bank.

{
  "payment_type": "credit_card",
  "transaction_details": {
    "order_id": "C17550",
    "gross_amount": 145000
  },
  "credit_card": {
    "token_id": "< your token ID >",
    "installment_term": 12,
    "bins": ["48111111", "3111", "5"]
  }
}
JSON AttributeDescriptionType
token_idToken ID represents customer's card information acquired from Get Card Token response.String
bankThe name of the Acquiring Bank. Note: For Offline installment, Acquiring Bank and Card Issuing Bank are different.String
installment_termInstallment tenure in months.Integer
binsList of card's BIN (Bank Identification Number) that is allowed for transaction.JSON Array



Offline Installment Charge Response and Notifications

Successful installment transaction responds with transaction_status: capture and is ready for settlement.

{
   "status_code": "200",
   "status_message": "Success, Credit Card transaction is successful",
   "transaction_id": "b046340b-dc40-480a-828f-085fc265850c",
   "order_id": "62465770",
   "gross_amount": "1352373.00",
   "payment_type": "credit_card",
   "transaction_time": "2016-06-19 05:41:18",
   "transaction_status": "capture",
   "fraud_status": "accept",
   "approval_code": "854442",
   "eci": "05",
   "masked_card": "48111111-1114",
   "bank": "bni",
   "installment_term": "6",
   "channel_response_code": "00",
   "channel_response_message": "Approved",
   "currency": "IDR",
   "card_type": "credit",
   "on_us": true
}
{
  "masked_card": "48111111-1114",
  "approval_code": "833736",
  "bank": "bni",
  "eci": "05",
  "installment_term": 12,
  "transaction_time": "2016-07-04 14:00:55",
  "gross_amount": "16277555.00",
  "order_id": "160288134251",
  "payment_type": "credit_card",
  "signature_key": "1742c43dbda320dfe26a0e570eb8c95f710058967a2bb45b3996b664e19feb30aec8a6458be56ee310e7941fb89e3e3da09833b0f858fc8226bfa0442af2b5b0",
  "status_code": "201",
  "transaction_id": "3c1b1f1a-bfcf-4fa1-9a93-bebf5b9cb488",
  "transaction_status": "capture",
  "fraud_status": "challenge",
  "status_message": "midtrans payment notification",
  "card_type": "credit",
  "on_us": false
}