# 信用卡授權

## 說明

取得信用卡授權, 進行交易

{% hint style="warning" %}
Response中取得的信用卡交易URL, 需要進行發送(https request), 取得回應後, 才能完成該筆交易 (note: 需使用TLS1.2以上安全協議連線)
{% endhint %}

{% hint style="info" %}
若使用測試Server，請洽詢intella取得測試信用卡號以進行測試.
{% endhint %}

## Request

### Header

| 欄位          | 必填  | 型別         | 範例             | 說明                                          |
| ----------- | --- | ---------- | -------------- | ------------------------------------------- |
| Method      | YES | String(5)  | 20000          | 支付方式請填20000 (信用卡授權交易)                       |
| ServiceType | YES | String     | **Payment**    | 所選用的Scan2Pay服務代碼                            |
| MchId       | YES | String     | Account0001    | 由intella所提供的特店帳號                            |
| TradeKey    | YES | String     | sha256...hash  | 由intella所提供的交易密碼, 此密碼須先經過SHA256加密，再進行Hex編碼。 |
| CreateTime  | YES | String(14) | 20180101120000 | Request建立時間, 格式為yyyyMMddHHmmss              |

### Data

| 欄位           | 必填  | 型別          | 範例               | 說明                                                  |
| ------------ | --- | ----------- | ---------------- | --------------------------------------------------- |
| TimeExpire   | NO  | String      | 20180101120000   | 訂單失效時間, 格式為yyyyMMddHHmmss                           |
| DeviceInfo   | YES | String      | skb0001          | 終端機編號, 請固定填skb0001                                  |
| StoreOrderNo | YES | String(20)  | PO180101001      | 訂單編號, 全英數不超過20字元                                    |
| Body         | YES | String(128) | 雞排               | 商品名稱                                                |
| FeeType      | NO  | String      | TWD              | 交易幣別, 預設為台幣TWD                                      |
| TotalFee     | YES | Integer     | 75               | 交易金額, 正整數, 不能為負值                                    |
| Detail       | NO  | String(200) | 香酥大雞排            | 訂單資訊                                                |
| StoreInfo    | NO  | String      | 00001            | 門市代號                                                |
| StoreName    | NO  | String      | 忠孝店              | 分店名稱                                                |
| StoreType    | NO  | String      | 直營店              | 分店類型                                                |
| DeviceOS     | NO  | String      | 2                | 裝置類型 (1: iOS / 2: Android / 3: Windows / 4: Others) |
| CardId       | YES | String(16)  | 1234567898764423 | 信用卡卡號                                               |
| ExtenNo      | YES | String(3)   | 123              | 背面三碼                                                |
| ExpireDate   | YES | String(4)   | 2505             | 格式為YYMM                                             |

{% hint style="danger" %}
訂單編碼(StoreOrderNo)不可超過20字元，且只能使用英文字母和數字，不能使用符號或是特殊字元，以免導致部分支付交易失敗
{% endhint %}

## Response

### Header

| 欄位           | 型別        | 範例             | 說明                                                                          |
| ------------ | --------- | -------------- | --------------------------------------------------------------------------- |
| StatusCode   | String(4) | 0000           | [交易結果代碼](https://intella.gitbook.io/scan2pay/appendix/scan2pay-error-codes) |
| StatusDesc   | String    | 交易成功           | 交易結果代碼說明                                                                    |
| Method       | String(5) | 10100          | 支付方式代碼                                                                      |
| ServiceType  | String    | **Payment**    | 所選用的Scan2Pay服務代碼                                                            |
| MchId        | String    | Account0001    | 特店帳號                                                                        |
| ResponseTime | String    | 20180101120000 | 交易回應時間, 格式為yyyyMMddHHmmss                                                   |

### Data

| 欄位           | 型別         | 範例                  | 說明                     |
| ------------ | ---------- | ------------------- | ---------------------- |
| SysOrderNo   | String     | 2018010110074205610 | 系統訂單編號                 |
| StoreOrderNo | String(20) | PO180101001         | 特店訂單編號                 |
| TotalFee     | Integer    | 7500                | 交易總金額 (註: 金額部分需要除以100) |
| FeeType      | String     | TWD                 | 交易幣別                   |
| DeviceInfo   | String     | skb0001             | 終端機編號                  |
| Body         | String     | 雞排                  | 商品名稱                   |
| platformRsp  | String     | https\://...        | 交易URL                  |
| serialNumber | String     | 0                   |                        |

## API Example

### Request

```
{
  "Header": {
    "Method": "20000",
    "ServiceType": "Payment",
    "MchId": "myMchId",
    "TradeKey": "9af15b336e6a9619928537df30b2e6a2376569fcf9d7e773eccede65606529a0",
    "CreateTime": "20180715102050"
  },
  "Data": "{\"DeviceInfo\":\"skb0001\",\"StoreOrderNo\":\"PO20180715003\",\"Body\":\"Food\",\"TotalFee\":\"1\",\"CardId\":\"4050123300004321\",\"ExtenNo\":\"123\",\"ExpireDate\":\"3012\"}"
}
```

### Response

```
{
  "Header": {
    "StatusCode": "0000",
    "StatusDesc": "執行成功",
    "Method": "20800",
    "ServiceType": "Payment",
    "MchId": "myMchId",
    "ResponseTime": "20180715102052"
  },
  "Data": {
    "sysOrderNo": "",
    "storeOrderNo": "PO-20180715-003",
    "totalFee": "100",
    "feeType": "TWD",
    "deviceInfo": "DeviceMiles",
    "platformRsp": "https://tspg-t.taishinbank.com.tw/tspgapi/hpp/vweb.aspx?MID=999812666555044&KEY=IspQv2tH8sMXGeGPUYhM1S3HPpP4j5z3PfXar+5bbEwLrEBJtTbzQPZhTVkVAW+Hnx3DZJIbflPqP9PhC/TiceBYxcrdYxRt9HBK4qGG8UfLeYbpfN3lUH41Rx7eJb8dB++3Y82VJbc49TO2jBSmsj/IadqLqpYdZl8W8q+0S4WqG32r0FJDnWxCkMnwhQqCeBPOkHGCTGTTV+/5UqgfDVjQ/VdcSWSHwJCm9P2eysyyp6uPZgtddzG94CbxzquapMMlvDAQqxUWIsk7R+wcjYDPIgAMRsdA==&MAC=ViTrzqfObo3XWaio9Ru50OxkQhAN4k5u6KW7j1nMzm0=&CIPHER=0MSF3mFVQS4TdfcClB2DolTnYEBzS4auzNgzuEBsqsHPDL1GxtyBqmhnReCSzLpFXr4FQ+nErB04f6/NNNFHZjLzv1TxAepaoa+YI5LXP14nUExqXV4UZbT7ie6RVZHeY8anrLEnmXhns2dy0TmZAM6D+8HWN3vwBuKBE8C42bHrlqwf5CipjUhSGBvOaSnxOJR0aPqfiBO0l5syMzvANwZgF67vtJaJMBRVEXqBoMo2/SSUE/tW9qn/YpMKIFYXI2OPZyV5jBmcv13N4iuiFwajINFeHMSYGAo38TZxyMVJNOeqKDfN7+UaXanzpIbBvbB2X5LlsJ1xOVCQvXXZ3fboigqhYacXRP6542PODSa/btcPSi1fpxwOoHRGQr5IvRT+SUGc9gg/RMCG2RxxvJmF6shmBCHA1sHx6KwDw29SP7MA9AcNoIQ5ScMjjGMwMTWAUWjx9Z6NJld/3P87DZBwNfzuPNgUx4SBxR7/wjyh+h0mhJQDcpLRnILGVKbHcKT9ptvxm9qqOlSqKZrZkwepe62P0r+fWCjyIqeFgdDXm/QWEpGrw37o8iKnhYHQ15kQfq7QMD4lmPIip4WB0Neb8g71kgLsElsQQ6Q6n4wZr4TndqCl6+TwOr991udWh2LuAs+TU1SZdxaNVpI6T94kmt+fqth5PTdJd8bpe1zE+6qDYSFCfMsX7FjSiMuZn1LVK8LzxyFMb8opbtO8S4OO6edkAKUbuPG9mnjvTL9f+wBafaTIPJMlQji3mg6XKXC10R9Zxplx+7IB2f5bJCc+R6EQwBl5HSL/fxtGRWiLJdaRTlTfJmNbEk8t8TLJ7iNXx4tZMsnuI1fHi1k=",
    "serialNumber": 0
  }
}
```
