1. Overview

This API is use to Refund the transaction.

2. API Specification

HTTP Method

POST

Endpoint

/open/bi/private/v1.0/debit/refund

SNAP Service Code

58

3. Request

3.1. Request Header

Parameter Name

Type

Length

Required

Description

Sample

1

Authorization

String

163

M

Authorization access token. Bearer type.

Bearer eyJxxxx

2

X-SIGNATURE

String

 2048

M

Integrity check. Using Asymmetric-Signature mechanism to get the token, encrypted with SHA256withRSA.

e.g.

stringToSign = <HTTP Method> + ":" + <Service Endpoint> + ":" + toLowercase(hexEncode(SHA256(minify(<Request Body>)))) + ":" + <X-TIMESTAMP>

X-SIGNATURE = SHA256withRSA(PrivateKey, stringToSign)

eTCtU8YjKpwTzvOpao1g/ZQPxKzbsbVs6iTAAECB40aWoCVptjok59uHnbQemvyn3I0FHX/kreMgXMjhs/9NXYuaz3yBzk8TJ9fyYd6DbeeqDDBpTNVaC2dNjCtIjO1xi7ZJ+DLrqz7Wqwn+PwmY+0HJrbM9al5CS/WvjqFXN5FahIRxUfW8Dt3SQ0JNN/ySkz8ari/g7ygiIaLWZf3dSpACgEANiTFfi8YbAJRlMdoRPzwRups8QBdRce8yyW+RhpiEfTeV0CfLdTBiQ7r1HVCZ3V5iU2VxkKj4lXjwbEAJJm6XeEoXugUuLsOYOa8cKQ4bZ2Nxp+xFW6zd3Yk8lA==

3

X-TIMESTAMP

String

 25

M

Timestamp request. Formatted as yyyy-MM-ddTHH:mm:ssS

2022-09-28T13:00:00+07:00

4

X-CLIENT-KEY

String

32

M

Merchant ID. Provided by Bank.

000580000134

5

X-EXTERNAL-ID

String

36

M

Merchant unique request ID. Must be unique per day.

6

CHANNEL-ID

String

M

Bank Channel ID.

88881

7

Content-Type

String

M

Request body format type.

application/json

3.2 Request Body

Name

Type

M/O

Length

Description

originalPartnerReferenceNo

String

M

22

Merchant payment reference number. Should be use the partnerReferenceNo value from previous Payment execution.

originalReferenceNo

String

M

22

BNC transaction reference. The value retrieved from Payment response, referenceNo field.

merchantId

String

M

32

Merchant ID. Provided by BNC.

subMerchantId

String

O

32

Sub Merchant ID of the Merchant. This property depends on merchant. Provided by BNC.

partnerRefundNo

String

M

22

Merchant refund reference number.

refundAmount

Object

M

For hold amount of refund.

-> value

String

M

14

Amount value to refund.

-> currency

String

M

3

Currency of previous payment.

reason

String

M

255

Merchant or user reason to refund.

additionalInfo

Object

M

-> token

String

M

32

Merchant user bankCardToken when binding.

3.2.1 Sample Request Body

{
    "merchantId": "000580000134",
    "originalPartnerReferenceNo": "230332344123777023",
    "originalReferenceNo": "300260184546832551937",
    "partnerRefundNo": "23033234412388800512",
    "refundAmount": {
        "value": "101200",
        "currency": "IDR"
    },
    "reason": "Customer complain",
    "additionalInfo": {
        "token": "7c9176b97f5641fbb9f88d44ab3a63ba"
    }
}

4. Response

4.1 Response Body

Name

Type

M/O

Length

Description

originalReferenceNo

String

M

22

BNC transaction reference.

originalPartnerReferenceNo

String

M

22

Merchant payment reference number.

partnerRefundNo

String

M

22

Merchant refund reference number.

refundNo

String

M

22

BNC system refund reference number.

refundTime

String

M

25

Refund request time.

refundAmount

Object

M

The transaction monetary information.

-> currency

String

M

3

The transaction currency.

-> value

Double

M

14

The transaction amount.

additionalInfo

Object

M

-> token

String

M

32

Merchant user bankCardToken when binding.

-> traceId

String

M

32

BNC trace ID. Used for tracing in case problem happens

responseMessage

String

M

200

The message corresponding to the response code.

responseCode

String

M

7

The BI Snap standard of response code.

4.1.1 Sample Response Body

Success:

{
    "originalReferenceNo": "3001578338119420256257",
    "refundNo": "3001578339470892113920",
    "refundTime": "2022-10-07T18:00:28+07:00",
    "additionalInfo": {
        "token": "7777882",
        "traceId": "2537b798210996d8a9008acf0302086c"
    },
    "originalPartnerReferenceNo": "U22100600016",
    "responseMessage": "Successful",
    "partnerRefundNo": "UF22100700002",
    "refundAmount": {
        "currency": "IDR",
        "value": "600000.00"
    },
    "responseCode": "2005800"
}

Fail:

 

Error Code

Error Message

Description

1

4035815

Transaction not permitted

The refund request already proceed or transaction already refunded.

2

4045801

Transaction not found

The transaction is not found.

3

4035802

Exceeds Transaction Amount Limit

The requested amount is exceed from transaction amount.

6. Reference

Field Code

Field Name

Description

1

M

Mandatory

Mandatory

2

ME

Mandatory Equal

Mandatory Equal – value in the request and the response must be the same.

3

C

Conditional

Conditional

4

CE

Conditional Equal

Conditional Equal – value in the request and the response must be the same.

5

O

Optional

Optional

PT Bank Neo Commerce Tbk berizin dan diawasi oleh Otoritas Jasa Keuangan (OJK) dan Bank Indonesia (BI), serta merupakan peserta penjaminan Lembaga Penjamin Simpanan (LPS).
All Rights Reserved. PT Bank Neo Commerce 2025