---
title: Encryption - Payment API Credit Card
slug: nicepay-api-non-snap-encryption-payment-api-credit-card
description: Informasi tentang API Non-SNAP Payment - Payment - Encryption - API Credit Card yang terdapat pada sistem NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/xLI38FukR3O53h5rVSbwK_rdrx9d8diaz-pgm07xfz2-test-1-1.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2025-06-11T03:07:56.325Z
---

# Tentang Encryption - Payment API Credit Card

***

Encryption - Payment API Credit Card adalah data transaksi pembayaran Kartu Kredit yang wajib melalui proses enkripsi terlebih dahulu dari sisi Merchant.

::::hint{type="warning"}
:::Iframe{iframeHeight="0" code="<!-- <p>paste iframe code here</p> -->ℹ️ Merchant wajib menghubungi tim <a style=&#x22;color:blue; text-decoration-line:underline&#x22; href=&#x22;mailto:integration@nicepay.co.id&#x22;>IT NICEPAY</a> terlebih dahulu untuk mendapatkan Public Key agar dapat melakukan pengiriman data request melalui proses enkripsi."}

:::
::::

| **API Endpoint**   | `/nicepay/direct/v2/payment`                                                                                                                                                                                                                                                                       |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Request Method** | Popup, Redirect, Submit, Etc(Not Server to Server API)&#xD;<br />Only support <font color="#3b9f0f">**POST**</font>****                                                                                                                                                                            |
| **Description**    | - The Page redirected to authentication Page(in bank side), If 3DS authentication is required. &#xD;&#xA;The page will be redirected to the card issuer authentication page.
- Verification(in bank side) &#xD;
- Making the payment. &#xD;
- The page will be forwarded to the Callback URL.&#xD; |
| **Merchant Token** | SHA256(`timeStamp`+`iMid`+`referenceNo`+`amt`+`merchantKey`)                                                                                                                                                                                                                                       |
| **Request Format** | SHA256 `(publicKey)`                                                                                                                                                                                                                                                                               |

:::hint{type="info"}
API Payment - Credit Card yang digunakan dalam metode enkripsi ini merupakan API Payment yang sama dengan fitur Kartu Kredit Full Payment & Installment, Recurring dan Preauth & Capture.&#x20;

Perbedaan terdapat pada parameter Data Kartu (`cardNo`,`cardExpYymm`,`cardCvv` dan `cardHolderNm`) saat Merchant perlu memberikan parameter tersebut melalui proses enkripsi terlebih dahulu ketika melakukan request payment kepada NICEPAY.
:::



## Request Parameter for Encryption - Payment API Credit Card

| **Parameter**                                                                            | **Tipe** | **Ukuran** | **Deskripsi**                                                              | **Contoh / Catatan**                                                                                                                                                                                                                                           |
| ---------------------------------------------------------------------------------------- | -------- | ---------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `timeStamp`<br /><font color="#2166ae">Required</font>                                   | N        | 14         | API Request Timestamp (`YYYYMMDDHH24MISS`)                                 | 20221202141217                                                                                                                                                                                                                                                 |
| `tXid`<br /><font color="#2166ae">Required</font>                                        | AN       | 30         | Transaction ID	                                                            | IONPAYTEST01202212021455054652                                                                                                                                                                                                                                 |
| `cardNo`<br /><font color="#2166ae"></font><font color="#2166ae">Required</font><br /> | N        | 200        | Full card number using&#xD;<br />encrypted format & base64 url encode      | n9AuywVp0Cgk7M9sJaJbWf43%2F6m&#xD;<br />FI6xzLnqZljsimVdNAEq56p6m6Ckhyrd&#xD;<br />cL14e5tCZlrwQzso6pVCpn%2FwgpPm&#xD;<br />WwK%2BR0ByoPuYh%2FFwnJy%2BO&#xD;<br />BWWLroefE7lPoXaWoSUzXw%2BQPw&#xD;<br />MaT7VQxZnDeIs19dQ%2FE28pcgfTeD&#xD;<br />0xDqaBdtQ%3D |
| `cardExpYymm`<br /><font color="#2166ae"></font><font color="#2166ae">Required</font>  | A        | 200        | Card Expiry (`YYMM`) using encrypted format & base64 url encode            | q6Ye2qcjxrjUq%2B3KyCTErSf1nPu58%2FMaS4rP7qThLLEfx9FdFDYp3snj%2F&#xD;<br />QKRzATATQBdsM3tcY5itH29yGPGn9y&#xD;<br />MB1k19zTUGtiU9n9NflqUIW%2BCTtv&#xD;<br />4Z0ykWFxZntBJ3YMGChmanGIADI9%&#xD;<br />2FDUrl5pLNPvAL9Ags5xn3FfOY8RU%3&#xD;<br />D                |
| `cardCvv`<br /><font color="#2166ae">Required</font>``                                  | N        | 200        | Card CVV using encrypted&#xD; format & base64 url encode                   | fPXQ8fdw1Y0tbFmDtaolUxQteh7I3RZ&#xD;<br />qYY6%2B0g%2BWOPyKTHm5cRTq%2&#xD;<br />BD7CYEsvlIRsVcJbzm4LgTNbFWP5rva&#xD;<br />HkoPqIQmAZRf0CQl1UUQUYwFa%2B&#xD;<br />NGWObg3depYbXWDpifMtwoVE7Jd3&#xD;<br />zFp4B0Ik23Ha46B0bDvRi1zQiz%2Bx7&#xD;<br />NwZkE%3D     |
| `cardHolderNm`<br /><font color="#2166ae">Required</font>                                | AN       | 200        | Card Holder Name using&#xD;<br />encrypted format & base64&#xD; url encode | jY6lRWSw%2Bo9815Dx8jacPVvIjX1wi0&#xD;<br />QiovNbIEoGwEwmKzzD92n8vVDI3Rw&#xD;<br />XFlu2hQTFk0w6iBGlNAPROvl5uPR3%&#xD;<br />2Fo4Gy0p3U8RJKIeUnH1qGjP7fO69N&#xD;<br />dvV6gTwo1Ehjs0cMsIbVNyUBlBQ72b&#xD;<br />TTkVkQzpAUGQhVQuwbwaw6hs%3D                      |
| `recurringToken`<br /><font color="#2166AE"> Only</font>                                 | AN       | 64         | Recurring Token                                                            | 9338d54573688ae18e175240b0257d&#xD;<br />e48d89c6ef1c9c7b5c094dc4beed9e4&#xD;<br />35f                                                                                                                                                                         |
| `preauthToken`<br /><font color="#2166AE">nly</font>                                     | AN       | 64         | Pre-Auth Token                                                             | 9338d54573688ae18e175240b0257d&#xD;<br />e48d89c6ef1c9c7b5c094dc4beed9e4&#xD;<br />35f                                                                                                                                                                         |
| `iMid`<br /><font color="#2166ae">Required</font>                                        | AN       | 10         | Merchant ID                                                                | IONPAYTEST                                                                                                                                                                                                                                                     |
| `merchantToken`<br /><font color="#2166ae">Required</font>                               | AN       | 255        | Merchant Token                                                             | c91e6531f6c84869439bc5ebe5389bd71e7752c054fc9dbfe193d087a1b797ae                                                                                                                                                                                               |
| `callBackUrl`<br /><font color="#2166ae">Required</font>                                 | ANS      | 255        | Payment Result URL                                                         | https\://merchant.com/callBackUrl&#xD;                                                                                                                                                                                                                         |
| `encrypted`<br /><font color="#2166ae">Required</font>                                   | N        | 1          | Flagging for payment&#xD;<br />transaction use encryption or&#xD; not      | 1 = Using Encrypt Method&#xD;<br />0 = Not Using                                                                                                                                                                                                               |
| `publicKey`<br /><font color="#2166ae">Required</font>                                   | AN       | 64         | publicKey Hashing of your public key (SHA256)                              | a5f3445e7dd166b8c6cfef685047098f1a03755aeedb97a06002d7a754081338                                                                                                                                                                                               |



## Response Parameter for Encryption - Payment API Credit Card

| **Parameter**    | **Tipe** | **Ukuran** | **Deskripsi**                                                     | **Contoh / Catatan**                                                                                            |
| ---------------- | -------- | ---------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `resultCd`       | N        | 14         | [Result Code](docId\:gvAdBBr0SQ92N1zHplSFM)                       | code of responses                                                                                               |
| `resultMsg`      | AN       | 255        | Result message: [Error Code](docId\:yEh1VA9k2y6sL1kQF2aWD)        | Responses message                                                                                               |
| `tXid`           | AN       | 30&#xD;    | Transaction ID	                                                   | When success&#xD;                                                                                               |
| `referenceNo`    | ANS      | 40         | Merchant Order Number                                             | When success&#xD;                                                                                               |
| `payMethod`      | N        | 2          | [Payment Method Code](docId\:g7inRV70XcSA9lP7bpmok)               | When success&#xD;                                                                                               |
| `amt`           | N        | 12         | Payment Amount	                                                   | When success&#xD;                                                                                               |
| `currency`       | AN       | 3          | Currency                                                          | When success&#xD;                                                                                               |
| `goodsNm`        | A        | 100        | Goods Name	                                                       | When success&#xD;                                                                                               |
| `billingNm`      | A        | 100        | Buyer Name	                                                       | When success&#xD;                                                                                               |
| `transDt`        | N        | 8          | Transaction Date (`YYYYMMDD`)                                     | When success&#xD;                                                                                               |
| `transTm`        | N        | 6          | Transaction Time (`HH24MISS`)	                                    | When success&#xD;                                                                                               |
| `description`    | AN       | 100        | Transaction Description	                                          | When success&#xD;                                                                                               |
| `authNo`         | N        | 10         | Approval Number	                                                  | When success, CC&#xD;                                                                                           |
| `issuBankCd`     | A        | 4          | [Issuing Bank Code](docId:1U7QOax_wrzXMoCG-Mqad)                  | When success, CC&#xD;                                                                                           |
| `acquBankCd`     | A        | 4          | [Acquiring Bank Code](docId:1U7QOax_wrzXMoCG-Mqad)                | When success, CC&#xD;                                                                                           |
| `cardNo`         | ANS      | 20         | Card Number with Masking                                          | When success, CC&#xD;                                                                                           |
| `cardExpYymm`    | N        | 4          | Card Expiry (`YYMM`)	                                             | When success, CC&#xD;                                                                                           |
| `instmntMon`     | N        | 2          | Installment Month	                                                | When success, CC&#xD;                                                                                           |
| `instmntType`    | N        | 2          | [Installment Type Code](docId:7CIX-U_4z295XgtNVEsbO)              | When success, CC&#xD;                                                                                           |
| `recurringToken` | AN       | 64         | Recurring Payment Token                                           | When Success CC Recurring                                                                                       |
| `preauthToken`   | AN       | 64         | Pre-Auth Payment Token                                            | When Success CC Pre-Auth                                                                                        |
| `ccTransType`    | N        | 2          | [Credit Card Transaction Type](docId:8m3-7Smhm_jhdrE5pCRzp)<br /> | When Success, CC<br /><br />`1`: Normal&#xD;<br />`2`: Recurring&#xD;<br />`3`: Pre-Auth&#xD;<br />`4`: Capture |
| `Vat`            | N        | 12         | Vat                                                               | When Success, CC                                                                                                |
| `Fee`            | N        | 12         | Service Fee                                                       | When Success, CC                                                                                                |
| `noTaxAmt`       | N        | 12         | Tax-free Amount                                                   | When Success, CC                                                                                                |
| `mitraCd`        | A        | 4          | Mitra Code                                                        | When success ClickPay, E-Wallet, Payloan                                                                        |
| `receiptCode`    | ANS      | 20         | Authorization Number                                              | When success ClickPay                                                                                           |
| `mRefNo`         | AN       | 18         | Bank Reference Number                                             | When success ClickPay                                                                                           |
| `cardBrand`      | N        | 2          | Card brand name                                                   | `1` = Visa&#xD;<br />`2` = Mastercard&#xD;<br />`3` = JCB&#xD;<br />`4` = Amex&#xD;<br />`5` = Others           |



## Sample Parameter for Encryption - Payment API Credit Card

***

### Request Parameter

:::CodeblockTabs
cURL

```curl
curl --location 'https://dev.nicepay.co.id/nicepay/direct/v2/payment' \
--header 'X-FORWARDED-FOR: 1.2.3.4' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'timeStamp=20210103123456' \
--data-urlencode 'tXid=BMRITEST0102201607291027025291' \
--data-urlencode 'merchantToken=b4171e8228be7a75d19ad29b509e76d5fc70a4c000ef87bc55cf0cda72767e72' \
--data-urlencode 'cardNo=n9AuywVp0Cgk7M9sJaJbWf43/6mFI6xzLnqZljsimVdNAEq56p6m6CkhyrdcL14e5tCZlrwQzso6pVCpn/wgpPmWwK+R0ByoPuYh/FwnJy+OBWWLroefE7lPoXaWoSUzXw+QPwMaT7VQxZnDeIs19dQ/E28pcgfTeD0xDqaBdtQ=' \
--data-urlencode 'cardExpYymm=q6Ye2qcjxrjUq+3KyCTErSf1nPu58/MaS4rP7qThLLEfx9FdFDYp3snj/QKRzATATQBdsM3tcY5itH29yGPGn9yMB1k19zTUGtiU9n9NflqUIW+CTtv4Z0ykWFxZntBJ3YMGChmanGIADI9/DUrl5pLNPvAL9Ags5xn3FfOY8RU=' \
--data-urlencode 'cardCvv=fPXQ8fdw1Y0tbFmDtaolUxQteh7I3RZqYY6+0g+WOPyKTHm5cRTq+D7CYEsvlIRsVcJbzm4LgTNbFWP5rvaHkoPqIQmAZRf0CQl1UUQUYwFa+NGWObg3depYbXWDpifMtwoVE7Jd3zFp4B0Ik23Ha46B0bDvRi1zQiz+x7NwZkE=' \
--data-urlencode 'cardHolderNm=jY6lRWSw+o9815Dx8jacPVvIjX1wi0QiovNbIEoGwEwmKzzD92n8vVDI3RwXFlu2hQTFk0w6iBGlNAPROvl5uPR3/o4Gy0p3U8RJKIeUnH1qGjP7fO69NdvV6gTwo1Ehjs0cMsIbVNyUBlBQ72bTTkVkQzpAUGQhVQuwbwaw6hs=' \
--data-urlencode 'recurringToken=' \
--data-urlencode 'publicKey=0caa334154789c7b07eda32db6e450acce722dde2c3cb0582eba2fe855e67a4d' \
--data-urlencode 'encrypted=1' \
--data-urlencode 'preauthToken=' \
--data-urlencode 'clickPayNo=' \
--data-urlencode 'dataField3=' \
--data-urlencode 'clickPayToken=' \
--data-urlencode 'callBackUrl=https://dev.nicepay.co.id/IONPAY_CLIENT/paymentResult.jsp?order_id=BMRITEST0102201607291027025291'

```
:::

### Response Parameter

:::CodeblockTabs
Sample Response

```html
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 5.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -->

<!DOCTYPE html>
<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

    <script type="text/javascript" src="/nicepay/js/bootstrap.js"></script>
    <link rel="stylesheet" type="text/css" href="/nicepay/css/bootstrap.css" />
    <link rel="stylesheet" type="text/css" href="/nicepay/css/bootstrap_backup.css" />
    <link rel="stylesheet" type="text/css" href="/nicepay/css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="/nicepay/css/form.css" />
    <link rel="stylesheet" type="text/css" href="/nicepay/css/bootstrap-responsive.css" />
    <link rel="stylesheet" type="text/css" href="/nicepay/css/basic.css" />

    <link rel="shortcut icon" href="https://www.nicepay.co.id/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="https://www.nicepay.co.id/favicon.ico" type="image/x-icon" />

    <script type="text/javascript" src="/nicepay/js/jquery.js"></script>
    <script type="text/javascript" src="/nicepay/js/jquery.min.js"></script>
    <script type="text/javascript" src="/nicepay/js/common.js"></script>


</head>

<body>











    <html>

    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script type="text/javascript">
            function setAcsInfo(){
		if ('01' != '05') {
			document.tranMgr.action = $("#callbackUrl").val();
		} else if ('01' == '05' && '' != null && '' == 'OVOE') {
			document.tranMgr.action = $("#callbackUrl").val();
		}
		
		if (document.tranMgr.cardBrand.value == null || document.tranMgr.cardBrand.value == "")
			document.tranMgr.cardBrand.setAttribute("disabled", true);
		
		document.tranMgr.submit();
	}

        </script>
    </head>
    <style>
        body {
            min-width: 100%;
            height: auto;
            min-height: 500px;
            overflow: none;
            border: none;
        }

        .wrapper {
            position: absolute;
            top: 0;
            left: 0;
            background-color: transparent;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
            width: 100%;
            z-index: 10;
        }

        .loader {
            color: #79CDBD;
            font-size: 10px;
            width: 1em;
            height: 1em;
            border-radius: 50%;
            position: relative;
            text-indent: -9999em;
            animation: mulShdSpin 1.3s infinite linear;
            transform: translateZ(0);
        }

        @keyframes mulShdSpin {

            0%,
            100% {
                box-shadow: 0 -3em 0 0.2em,
                    2em -2em 0 0em, 3em 0 0 -1em,
                    2em 2em 0 -1em, 0 3em 0 -1em,
                    -2em 2em 0 -1em, -3em 0 0 -1em,
                    -2em -2em 0 0;
            }

            12.5% {
                box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em,
                    3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em,
                    -2em 2em 0 -1em, -3em 0 0 -1em,
                    -2em -2em 0 -1em;
            }

            25% {
                box-shadow: 0 -3em 0 -0.5em,
                    2em -2em 0 0, 3em 0 0 0.2em,
                    2em 2em 0 0, 0 3em 0 -1em,
                    -2em 2em 0 -1em, -3em 0 0 -1em,
                    -2em -2em 0 -1em;
            }

            37.5% {
                box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
                    3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em,
                    -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
            }

            50% {
                box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
                    3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em,
                    -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
            }

            62.5% {
                box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
                    3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0,
                    -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
            }

            75% {
                box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em,
                    3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em,
                    -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
            }

            87.5% {
                box-shadow: 0em -3em 0 0, 2em -2em 0 -1em,
                    3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em,
                    -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
            }
        }
    </style>

    <body onLoad="javascript:setAcsInfo();">
        <div class="wrapper" id="loader">
            <span class="loader"></span>
        </div>




        <form name="tranMgr" method="post" action="">
            <input type="hidden" id="callbackUrl"  value="https://dev.nicepay.co.id/IONPAY_CLIENT/paymentResult.jsp?order_id=RECURRTEST01202509301555563979">
            <input type="hidden" name="resultCd"  value="0000">
            <input type="hidden" name="resultMsg" value="SUCCESS">
            <input type="hidden" name="tXid" value="BMRITEST0102201607291027025291">
            <input type="hidden" name="referenceNo" value="ordNo20160729102702">
            <input type="hidden" name="payMethod" value="01">
            <input type="hidden" name="amt" value="1000">
            <input type="hidden" name="transDt" value="20160729">
            <input type="hidden" name="transTm" value="102702">
            <input type="hidden" name="description" value="">
            <input type="hidden" name="authNo" value="563979">
            <input type="hidden" name="issuBankCd" value="BTPN">
            <input type="hidden" name="acquBankCd" value="BMRI">
            <input type="hidden" name="cardNo" value="51234500****0008">
            <input type="hidden" name="receiptCode" value="">
            <input type="hidden" name="mitraCd" value="">
            <input type="hidden" name="recurringToken" value="20b50427bc05cba305b0d580bf403e3c8487db29454459a920b6af358e435035">
            <input type="hidden" name="preauthToken" value="">

            <input type="hidden" name="currency" value="IDR">
            <input type="hidden" name="goodsNm" value="Goods">
            <input type="hidden" name="billingNm" value="Nicepay test">
            <input type="hidden" name="ccTransType" value="1">
            <input type="hidden" name="mRefNo" value="">

            <input type="hidden" name="instmntType" value="1">
            <input type="hidden" name="instmntMon" value="1">

            <input type="hidden" name="cardExpYymm" value="3106">

            <input type="hidden" name="issuBankNm" value="BTPN">
            <input type="hidden" name="acquBankNm" value="Mandiri">

            <input type="hidden" name="timeStamp" value="20250930155726">
            <input type="hidden" name="merchantToken" value="2a826d3285de0d09d7fa92cb788dfcb35a1656af15b81b97a0b42c5115510983">
            <input type="hidden" name="cardBrand" value="">



        </form>



    </body>

    </html>
</body>

</html>
```
:::

