---
title: Cancel - API Credit Card
slug: nicepay-api-non-snap-cancel-api-credit-card
description: Informasi tentang API Non-SNAP Payment - Cancel - API Credit Card yang terdapat pada sistem NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/Zd0ieOD1b6v5tFI_hZka1_rdrx9d8diaz-pgm07xfz2-test-1-1.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2022-08-31T06:18:16.000Z
---

# Tentang Cancel - API Credit Card

***

API ini digunakan oleh Merchant untuk membatalkan transaksi yang sudah dibayarkan.

:::hint{type="info"}
Jika Anda membatalkan sebelum proses Settlement selesai, maka transaksi tersebut dianggap **Void** dan dana transaksi tersebut akan dikembalikan ke Pelanggan Anda. Namun, pembatalan setelah proses Settlement selesai, maka masuk dalam kategori **Refund.**

Silakan untuk membuka halaman [Penyelesaian Transaksi Pada Kartu Kredit](docId:4rCLEHp5GhD71y_aARfnQ) untuk mengetahui lebih lanjut mengenai istilah *Void&#x20;*&#x6D;aupun *Refund.*
:::



# Cancel - API Credit Card

***

API Credit Card Cancel digunakan untuk membatalkan proses pada pembayaran melalui Kartu Kredit.

| **API Endpoint**   | `/nicepay/direct/v2/cancel`                           |
| ------------------ | ----------------------------------------------------- |
| **Request Method** | <font color="#3b9f0f">**POST**</font>****             |
| **Header**         | `Content-Type: application/json`                      |
| **Merchant Token** | SHA256(`timeStamp`+`iMid`+`tXid`+`amt`+`merchantKey`) |



## Request Parameters for Cancel - API Credit Card

***

Berikut ini adalah daftar parameter untuk melakukan *request&#x20;*&#x69;ntegrasi proses *cancel payment* pada metode pembayaran Kartu Kredit. Parameter ini digunakan melalui platform pengujian API. &#x20;

| **Parameter**                                                         | **Tipe** | **Ukuran** | **Deskripsi**                                                                              | **Contoh / Catatan**                                             |                          |
| --------------------------------------------------------------------- | -------- | ---------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | ------------------------ |
| `timeStamp`<br /><font color="#2166ae">Required</font>                | N        | 14         | API Request Timestamp <font color="#2166ae"></font>                                       | 20221214111239                                                   |                          |
| `tXid`<br /><font color="#2166ae">Required</font>                     | AN       | 30         | Transaction ID<br /><font color="#2166ae"></font>&#xD;                                    | IONPAYTEST01202212141146401456                                   |                          |
| `iMid`<br /><font color="#2166ae">Required</font>                     | AN       | 10         | Merchant ID<br /><font color="#2166ae"></font>&#xD;                                       | IONPAYTEST                                                       |                          |
| `payMethod`<br /><font color="#2166ae">Required</font>                | N        | 2          | [Payment Method Code](docId\:g7inRV70XcSA9lP7bpmok) <font color="#2166ae"></font>&#xD;    | 01                                                               |                          |
| `cancelType`<br /><font color="#2166ae">Required</font>               | N        | 2          | [Cancel Type Code](docId\:Mq9xE7wdOPR8OkZ3v-pVc) <br /><font color="#2166ae"></font>&#xD; | 2                                                                |                          |
| `merchantToken`<br /><font color="#2166ae">Required</font>            | AN       | 255        | Merchant Token <br /><font color="#2166ae"></font>                                        | ff139e49606387091cd9baeadff3161aff6afd9406e1f481e0fdb8b46d1ae5ae |                          |
| `referenceNo`                                                         | ANS      | 40         | Reference Number                                                                           | ordNo20221214111208                                              |                          |
| `amt`<br /><font color="#2166ae">Required</font>                      | N        | 12         | Payment Amount <br /><font color="#2166ae"></font>&#xD;                                   | 1000                                                             |                          |
| `cancelMsg`                                                           | AN       | 255        | Cancel Message&#xD;                                                                        | Cancellation Of Transaction Credit Card                          |                          |
| `cancelServerIp`                                                      | AN       | 15         | Server IP&#xD;                                                                             | 127.0.0.1                                                        |                          |
| `cancelUserId`                                                        | AN       | 30         | User ID&#xD;                                                                               | Admin                                                            |                          |
| `cancelUserIp`                                                        | AN       | 15         | User IP&#xD;                                                                               | 127.0.0.1&#xD;                                                   |                          |
| `cancelUserInfo`                                                      | AN       | 100        | User Information&#xD;                                                                      | Test Cancel&#xD;                                                 |                          |
| `cancelRetryCnt`	&#xD;                                                | N        | 2          | Retry Count&#xD;                                                                           | 5                                                                |                          |
| `cancelReferenceNo`<br /><font color="#2166ae">Optional For CC</font> | AN       | 40         | Merchant Cancel Number                                                                     | ordNo20221214111208&#xD;                                         | ordNo20221214111208&#xD; |
| `worker`                                                              | AN       | 10         | Worker                                                                                     | Worker                                                           |                          |



## Response Parameter for Cancel - API Credit Card

***

Berikut adalah *response* parameter dari hasil *request* parameter untuk *cancel handling* Kartu Kredit:

| **Parameter**                                                         | **Tipe** | **Ukuran** | **Deskripsi**                                                                                                                                                                                                                      | **Contoh / Catatan**                                           |
| --------------------------------------------------------------------- | -------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `resultCd`                                                            | N        | 4          | [Result Code](docId\:gvAdBBr0SQ92N1zHplSFM) [&#xD;](https://app.archbee.com/docs/36sM2OxRIwwbi9iNlqMTP/wpcEMaZro_Xvnxz-1ZAiB)                                                                                                      | 0000                                                           |
| `resultMsg`                                                           | AN       | 255        | Result Message: [Error Code](docId\:yEh1VA9k2y6sL1kQF2aWD)&#xD;                                                                                                                                                                    | SUCCESS                                                        |
| `tXid`                                                                | AN       | 30         | Transaction ID&#xD;                                                                                                                                                                                                                | IONPAYTEST01202212141146401456&#xD;                            |
| `referenceNo`                                                         | ANS      | 40         | Merchant Order Number&#xD;                                                                                                                                                                                                         | ordNo20221214111208&#xD;                                       |
| `transDt`                                                             | N        | 8          | Transaction Date&#xD;                                                                                                                                                                                                              | 20221214                                                       |
| `transTm`                                                             | N        | 6          | Transaction Time                                                                                                                                                                                                                   | 114640&#xD;                                                    |
| `amt`                                                                 | N        | 12         | Amount                                                                                                                                                                                                                             | 5000&#xD;                                                      |
| `cancelReferenceNo`<br /><font color="#2166ae">Optional For CC</font> | AN       | 40         | Merchant Cancel Number&#xD;                                                                                                                                                                                                        | ordNo20221214111208&#xD;                                       |
| `acquirerData`<br /><font color="#2166ae">Only For CC</font>          | Array    | 20         | A dynamic array consisting of a unique reference number RRN that is provided by the Banking Partner when a refund is processed. This reference number can be used by the Customer to track the status of the refund with the Bank. | `"acquirerData": {`<br />`    "rrn":"332608321717"`<br />`  }` |



## Sample Parameter for Cancel - API Credit Card

***

### Request Parameter

:::CodeblockTabs
cURL

```curl
curl --location 'https://dev.nicepay.co.id/nicepay/direct/v2/cancel' \
--header 'Content-Type: application/json' \
--data '{
    "timeStamp": "20251008131011",
    "payMethod": "01",
    "tXid": "IONPAYTEST01202509241944339756",
    "iMid": "IONPAYTEST",
    "merchantToken": "45505e04460a30418c425506e6b53295cc548b7ec11dd6685b0bf669e26c8db6",
    "referenceNo":"OrdNo20250924194433",
    "amt": "10000",
    "cancelType": "2",
    "cancelMsg": "Cancellation Of Transaction",
    "cancelServerIp": "127.0.0.1",
    "cancelUserId": "",
    "cancelUserIp": "127.0.0.1",
    "cancelUserInfo": "",
    "cancelRetryCnt": "",
    "cancelReferenceNo": "OrdNo20250924194433",
    "worker": ""
}'
```

Node.js

```nodejs
const config = {
  isProduction: false,
  privateKey: cons.privateKey,
  clientSecret: cons.clientSecret,
  clientId: cons.clientId,
  isCloudServer: false,
  merchantKey: cons.merchantKey,
};

let parameterCancel = {
  timeStamp: "20251008131011",
  payMethod: "01",
  tXid: "IONPAYTEST01202509241944339756",
  iMid: "IONPAYTEST",
  merchantToken: "45505e04460a30418c425506e6b53295cc548b7ec11dd6685b0bf669e26c8db6",
  referenceNo: "OrdNo20250924194433",
  amt: "10000",
  cancelType: "2",
  cancelMsg: "Cancellation Of Transaction",
  cancelServerIp: "127.0.0.1",
  cancelUserId: "",
  cancelUserIp: "127.0.0.1",
  cancelUserInfo: "",
  cancelRetryCnt: "",
  cancelReferenceNo: "OrdNo20250924194433",
  worker: "",
};

let secondVersion = new SecondApiVersion(config);

response = secondVersion.requestAPI(parameterCancel, "/direct/v2/cancel");
```

```java
NICEPayConfig configCc = NICEPay.builder()
        .isProduction(false)
        .isCloudServer(false)
        .partnerId("IONPAYTEST") 
        .build();

String txId = "IONPAYTEST01202509241944339756"; // from JSON
String amount = "10000";
String reffNo = "OrdNo20250924194433";

Cancel requestCancel = Cancel.builder()
        .timeStamp("20251008131011")
        .tXid(txId)
        .referenceNo(reffNo)
        .merchantToken(
                "20251008131011", 
                "IONPAYTEST", 
                txId, 
                amount, 
                "YOUR_MERCHANT_KEY" 
        )
        .iMid("IONPAYTEST")
        .payMethod("01")
        .cancelType("2")
        .amt(amount)
        .cancelMsg("Cancellation Of Transaction")
        .cancelUserIp("127.0.0.1")
        .cancelServerIp("127.0.0.1")
        .cancelUserInfo("")
        .cancelRetryCnt("")
        .cancelReferenceNo("OrdNo20250924194433")
        .worker("")
        .build();

NICEPayResponseV2 result = V2CancelService.callV2CancelTransaction(requestCancel, configCc);
```

```python
bodyCancel = (
    builderCancel.BuildCancel()
    .setPayMethod("01") 
    .setTxid("IONPAYTEST01202509241944339756")
    .setReferenceNo("OrdNo20250924194433")
    .setCancelUserId("")
    .setCancelType("2")
    .setCancelMsg("Cancellation Of Transaction")
    .setAmt("10000")
    .setCancelServerIp("127.0.0.1")
    .setCancelUserIp("127.0.0.1")
    .setCancelUserInfo("")
    .setCancelRetryCnt("")
    .setCancelReferenceNo("OrdNo20250924194433")
    .setWorker("")
    .build()
)

environment = (
    builderEnvironment.BuildEnvironment()
    .isCloud(True)
    .isProduction(False)
    .build()
)

response = ServiceNicepay.serviceCancel(DataGenerator.getCancelBody(bodyCancel.jsonCancel()), environment)
```

C#

```csharp
string merchantKey = config.MerKey;
string clientId = config.ClientId;
string timestamp = "20251008131011";
string amount = "10000";
string txid = "IONPAYTEST01202509241944339756";
string referenceNo = "OrdNo20250924194433";
bool isProduction = false;
bool isCloudServer = false;

// ✅ Build Merchant Token (keep original logic)
var builder = new MerchantTokenBuilder()
    .SetTimeStamp(timestamp)
    .SetIMid(clientId)
    .SetTXid(txid)
    .SetAmount(amount)
    .SetMerchantKey(merchantKey);

string merchantToken = builder.BuildCancelMerchantToken();

// ✅ Build Cancel Request Body
var Bodybuilder = new NicepayRequestBuilder()
    .SetCancel(
        iMid: "IONPAYTEST",
        timeStamp: timestamp,
        tXid: txid,
        amt: amount,
        merchantToken: merchantToken,
        payMethod: "01",
        cancelType: "2",
        cancelMsg: "Cancellation Of Transaction",
        cancelUserId: "",
        cancelServerIp: "127.0.0.1",
        cancelRetryCnt: "",
        cancelReferenceNo: "OrdNo20250924194433"
    );

// ✅ Prepare API endpoint and send request
ApiEndpoints apiEndpoints = new ApiEndpoints();
Dictionary<string, object> payload = Bodybuilder.Build();
string jsonPayload = Newtonsoft.Json.JsonConvert.SerializeObject(payload, Newtonsoft.Json.Formatting.Indented);

var registrationService = new NicepayRegistrationService(apiEndpoints, isProduction, isCloudServer);
var result = await registrationService.SendPostAsync(apiEndpoints.CancelV2, payload);
```

Laravel

```php
protected $useProd = false;
protected $useCloud = false;
protected $cancel_endpoint = "/nicepay/direct/v2/cancel";

$url = HttpUtil::getNicepayDomain($this->useProd, $this->useCloud) . $this->cancel_endpoint;

// Request body parameter
$timestamp = "20251008131011";
$txid = "IONPAYTEST01202509241944339756";
$reference_no = "OrdNo20250924194433";
$amt = "10000";
$merchant_token = "45505e04460a30418c425506e6b53295cc548b7ec11dd6685b0bf669e26c8db6";

$body = [
    "timeStamp"         => $timestamp,
    "tXid"              => $txid,
    "iMid"              => "IONPAYTEST",
    "referenceNo"       => $reference_no,
    "payMethod"         => "01",
    "merchantToken"     => $merchant_token,
    "amt"               => $amt,
    "cancelMsg"         => "Cancellation Of Transaction",
    "cancelType"        => "2",
    "cancelServerIp"    => "127.0.0.1",
    "cancelUserId"      => "",
    "cancelUserIp"      => "127.0.0.1",
    "cancelUserInfo"    => "",
    "cancelRetryCnt"    => "",
    "cancelReferenceNo" => "OrdNo20250924194433",
    "worker"            => ""
];

$response = HttpUtil::postJsonRequest($url, $body);


```

PHP Native

```php
$config = $this->configV2;
$timestamp = "20251008131011";
$txId = "SHOPEETEST01202410111242218557";
$reffNo = "ordCancel20251008131011";
$iMid = "SHOPEETEST";
$amount = "1000";

$requestBody = Cancel::builder()
    ->setTimeStamp($timestamp)
    ->setPayMethod("01")
    ->setTXid($txId)
    ->setIMid($iMid)
    ->setMerchantToken($timestamp, $iMid, $txId, $amount, $this->merchantKey)
    ->setReferenceNo($reffNo)
    ->setAmt($amount)
    ->setCancelType("2")
    ->setCancelMsg("Cancelation of Card Trans with PHP Native")
    ->setCancelUserIp("127.0.0.1")
    ->setCancelUserId("")
    ->setCancelUserInfo("")
    ->setCancelRetryCnt("")
    ->setCancelReferenceNo("OrdNo20250924194433")
    ->setWorker("")
    ->build();

    $cardService = new V2CardService($config);
    $response = $cardService->cancel($requestBody);
```

```kotlin
val request: DirectV2Cancel = DirectV2Cancel.Builder()
    .timeStamp("20251008131011")
    .tXid("IONPAYTEST01202509241944339756")
    .iMid("IONPAYTEST")
    .merchantKey("YOUR_MERCHANT_KEY")
    .referenceNo("OrdNo20250924194433")
    .amt("10000")
    .payMethod("01")
    .cancelType("2")
    .cancelReferenceNo("OrdNo20250924194433")
    .build()

val response: NICEPayResponseV2 = v2CardService.cancel(request, config)!!

```

CodeIgniter

```php
$config = $this->configV2;
$timestamp = "20251008131011";
$txId = "IONPAYTEST01202509241944339756";
$amount = "10000";
$reffNo = "OrdNo20250924194433";

$requestBody = Cancel::builder()
    ->setTimeStamp($timestamp)
    ->setIMid($this->iMid)
    ->setTXid($txId)
    ->setReferenceNo($reffNo)
    ->setMerchantToken($timestamp, $this->iMid, $txId, $amount, $this->merchantKey)
    ->setPayMethod("01")
    ->setCancelType("2")
    ->setAmt($amount)
    ->setCancelReferenceNo("OrdNo20250924194433")
    ->build();

    $v2VaService = new V2VAService($config);
    $response = $v2VaService->cancel($requestBody);
```
:::

### Response Parameter

:::CodeblockTabs
Sample Response

```json
{
    "tXid": "IONPAYTEST01202509241944339756",
    "referenceNo": "OrdNo20250924194433",
    "resultCd": "0000",
    "resultMsg": "SUCCESS",
    "transDt": "20250924",
    "transTm": "194433",
    "description": "This is testing transaction",
    "amt": "10000",
    "cancelReferenceNo": "OrdNo20250924194433",
    "acquirerData": {
        "rrn": null
    }
}
```
:::

