# Server to Server

`Base_Url`：`https://gateway.hyperauth.co`

`POST` `/gateway/v2/DIInterface`&#x20;

**Headers**

<table data-full-width="false"><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Content-Type</td><td>application/json</td></tr></tbody></table>

#### API Parameter Lis&#x74;**：**

<table><thead><tr><th>Parameter Name</th><th width="86">Type</th><th width="98">Length</th><th width="84">Required</th><th>Description</th></tr></thead><tbody><tr><td>merNo</td><td>String</td><td>5</td><td>Yes</td><td>【Merchant Number】</td></tr><tr><td>gatewayNo</td><td>String</td><td>8</td><td>Yes</td><td>【Gateway Number】</td></tr><tr><td>orderNo</td><td>String</td><td>50</td><td>Yes</td><td>【Merchant Order Number】</td></tr><tr><td>orderAmount</td><td>String</td><td>10</td><td>Yes</td><td>【Order Amount】<br>supports two decimal places</td></tr><tr><td>orderCurrency</td><td>String</td><td>3</td><td>Yes</td><td>【Transaction Currency 】<br>(e.g., USD)</td></tr><tr><td>signInfo</td><td>String</td><td>64</td><td>Yes</td><td>【Signature string】<br>Generated by concatenating parameters in the order: merNo+gatewayNo+orderNo+orderAmount+orderCurrency+firstName+lastName+cardNo+cardExpireYear+cardExpireMonth+cardSecurityCode+email+signKey and then applying SHA256 encryption.</td></tr><tr><td>notifyUrl</td><td>String</td><td>500</td><td>No</td><td>【Callback URL】<br>Callback URL for asynchronous notification (optional)👇<br>method: POST <br>Content-Type:application/json</td></tr><tr><td>returnUrl</td><td>String</td><td>500</td><td>No</td><td>【Return URL】 <br>Required if 3DS authentication is enabled. This is the return URL where the user will be redirected after 3DS verification is completed. The response parameters will be appended to the URL via a GET request.</td></tr><tr><td>cardNo</td><td>String</td><td>200</td><td>Yes</td><td>【Card Number】(e.g.,4111111111111111)</td></tr><tr><td>cardExpireMonth</td><td>String</td><td>20</td><td>Yes</td><td>【Card Expiry Month】 (e.g., 08)</td></tr><tr><td>cardExpireYear</td><td>String</td><td>20</td><td>Yes</td><td>【Card Expiry Year】 (e.g., 2026)</td></tr><tr><td>cardSecurityCode</td><td>String</td><td>100</td><td>Yes</td><td>【CVV】 (usually 3 digits on back of card)</td></tr><tr><td>cardHolderName</td><td>String</td><td>100</td><td>YES</td><td>【Cardholder’s Full Name】</td></tr><tr><td>issuingBank</td><td>String</td><td>255</td><td>No</td><td>【Issuing Bank Name】</td></tr><tr><td>firstName</td><td>String</td><td>100</td><td>Yes</td><td>【Cardholder’s First Name】</td></tr><tr><td>lastName</td><td>String</td><td>50</td><td>Yes</td><td>【Cardholder’s Last Name】</td></tr><tr><td>email</td><td>String</td><td>200</td><td>Yes</td><td>【Cardholder’s Email】</td></tr><tr><td>ip</td><td>String</td><td>50</td><td>Yes</td><td>【Cardholder’s IP Address】</td></tr><tr><td>phone</td><td>String</td><td>50</td><td>Yes</td><td>【Cardholder’s Phone Number】</td></tr><tr><td>country</td><td>String</td><td>100</td><td>Yes</td><td>【Cardholder’s Country Code】(e.g., US)</td></tr><tr><td>state</td><td>String</td><td>100</td><td>Yes</td><td><p>【Cardholder’s State/Province】</p><p>If not available, use the value of the city instead.</p></td></tr><tr><td>city</td><td>String</td><td>100</td><td>Yes</td><td>【Cardholder’s City】</td></tr><tr><td>address</td><td>String</td><td>500</td><td>Yes</td><td>【Cardholder’s Billing Address】。</td></tr><tr><td>zip</td><td>String</td><td>100</td><td>Yes</td><td>【Cardholder’s Zip Code】。</td></tr><tr><td>shipFee</td><td>String</td><td>100</td><td>No</td><td><p>【Shipping fee】</p><p>Shipping fee must be a numeric value with up to two decimal places only.</p></td></tr><tr><td>discount</td><td>String</td><td>100</td><td>No</td><td>【Discount Amount】<br>must be a numeric value with up to two decimal places only.</td></tr><tr><td>goodsInfoList</td><td>JSONArray</td><td>5000</td><td>Yes</td><td><p>【Detailed product information】 </p><p>including gdNo (Product ID), gdName (Product Name), gdPrice (Unit Price), and gdQty (Quantity).<br>Example: [{"gdNo":"19306717","gdName":"product1","gdPrice":"16.16","gdQty":"1"}, {"gdNo":"19306718","gdName":"product2","gdPrice":"15.16","gdQty":"1"}]</p></td></tr><tr><td>shipFirstName</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient First Name】</td></tr><tr><td>shipLastName</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient Last Name】</td></tr><tr><td>shipEmail</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient Email】</td></tr><tr><td>shipPhone</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient Phone Number】</td></tr><tr><td>shipCountry</td><td>String</td><td>100</td><td>Yes</td><td><p>【Recipient Country Code】</p><p>(e.g., US)</p></td></tr><tr><td>shipState</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient State/Province】<br>If not available, use the value of the shipCity instead.</td></tr><tr><td>shipCity</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient City】</td></tr><tr><td>shipAddress</td><td>String</td><td>500</td><td>Yes</td><td>【Recipient Address】</td></tr><tr><td>shipZip</td><td>String</td><td>100</td><td>Yes</td><td>【Recipient Zip Code】</td></tr><tr><td>os</td><td>String</td><td>50</td><td>Yes</td><td>【Cardholder Device Operating System】</td></tr><tr><td>userAgent</td><td>String</td><td>500</td><td>Yes</td><td>【Cardholder User Agent】</td></tr><tr><td>browserLang</td><td>String</td><td>50</td><td>Yes</td><td>【Browser Language Code】<br>(e.g., en-US)</td></tr><tr><td>acceptHeader</td><td>String</td><td>500</td><td>Yes</td><td>【HTTP Accept Header】</td></tr><tr><td>colorDepth</td><td>String</td><td>10</td><td>Yes</td><td>【Screen Color Depth】 <br>(e.g., 1, 4, 8, 15, 16, 24, 30, 32 , 48 bits)</td></tr><tr><td>timezone</td><td>String</td><td>50</td><td>Yes</td><td>【Time zone offset】 (in hours)</td></tr><tr><td>resolution</td><td>String</td><td>50</td><td>Yes</td><td>【Screen Resolution】 width x height</td></tr><tr><td>javascriptEnabled</td><td>Boolean</td><td></td><td>Yes</td><td>【Whether JavaScript is enabled】</td></tr><tr><td>webSite</td><td>String</td><td>200</td><td>Yes</td><td>【Website Domain Name】</td></tr><tr><td>remark</td><td>String</td><td>1000</td><td>No</td><td>【Remarks / Additional Notes】</td></tr></tbody></table>

#### 2D Request Example (for reference only)**：**

<pre class="language-json"><code class="lang-json"><strong>{
</strong>	"merNo": "44121",
	"gatewayNo": "44121004",
	"orderNo": "82171878620469612242111",
	"orderAmount": "66.50",
	"orderCurrency": "USD",
	"signInfo": "7ED9ABF991B658AC06FA5F9097A28C89F8F8EE30C21CA3DCA7394EF067583311",
	"notifyUrl": "https://staging.xxx.com/notifyUrl?orderId=82171878620469612242111",
	"shipFee": "0.00",
	"goodsInfoList": [{"gdNo": "19306717",
			"gdName": "product1",
			"gdPrice": "12.16",
			"gdQty": "1"
			},{
			"gdNo": "19306718",
			"gdName": "product2",
			"gdPrice": "16.16",
			"gdQty": "1"
			}],
	"ip": "93.177.109.61",
	"email": "paytest@gmail.com",
	"phone": "2135991235",
	"firstName": "Henry",
	"lastName": "Ulrich",
	"country": "US",
	"city": "Fargo",
	"state": "North Dakota",
	"address": "2150 Canis Heights Drive Los",
	"zip": "1950-122",
	"shipFirstName": "Henry",
	"shipLastName": "Ulrich",
	"shipEmail": "paytest@gmail.com",
	"shipPhone": "2135991235",
	"shipCountry": "US",
	"shipCity": "Fargo",
	"shipState": "North Dakota",
	"shipAddress": "2150 Canis Heights Drive Los",
	"shipZip": "123458",
	"remark": "",
	"webSite": "Realtimewise.shop",
	"cardNo": "4054695723100768",
	"cardExpireMonth": "10",
	"cardExpireYear": "2031",
	"cardSecurityCode": "123",
	"cardHolderName": "Henry Ulrich",
	"os": "windows nt 10.0",
	"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
	"browserLang": "en-US",
	"timezone": "3",
	"resolution": "1536x864",
	"javascriptEnabled": "true",
	"acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"

}

</code></pre>

#### 3DS Request Example (for reference only)**：**

```json
{
	"merNo": "44121",
	"gatewayNo": "44121004",
	"orderNo": "82171878620469612242111",
	"orderAmount": "66.50",
	"orderCurrency": "USD",
	"signInfo": "7ED9ABF991B658AC06FA5F9097A28C89F8F8EE30C21CA3DCA7394EF067583311",
	"returnUrl": "https://xxx/returnUrl?orderId=82171878620469612242111",
	"notifyUrl": "https://xxx/notifyUrl?orderId=82171878620469612242111",
	"shipFee": "0.00",
	"tips": "1.05",
	"goodsInfoList": [{"gdNo": "19306717",
			"gdName": "product1",
			"gdPrice": "12.16",
			"gdQty": "1"
			},{
			"gdNo": "19306718",
			"gdName": "product2",
			"gdPrice": "16.16",
			"gdQty": "1"
			}],
	"ip": "93.177.109.61",
	"email": "paytest@gmail.com",
	"phone": "2135991235",
	"firstName": "Henry",
	"lastName": "Ulrich",
	"country": "US",
	"city": "Fargo",
	"state": "North Dakota",
	"address": "2150 Canis Heights Drive Los",
	"zip": "1950-122",
	"shipFirstName": "Henry",
	"shipLastName": "Ulrich",
	"shipEmail": "paytest@gmail.com",
	"shipPhone": "2135991235",
	"shipCountry": "US",
	"shipCity": "Fargo",
	"shipState": "North Dakota",
	"shipAddress": "2150 Canis Heights Drive Los",
	"shipZip": "123458",
	"remark": "",
	"webSite": "Realtimewise.shop",
	"cardNo": "4054695723100768",
	"cardExpireMonth": "10",
	"cardExpireYear": "2031",
	"cardSecurityCode": "123",
	"cardHolderName": "Henry Ulrich",
	"os": "windows nt 10.0",
	"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
	"browserLang": "en-US",
	"timezone": "3",
	"resolution": "1536x864",
	"javascriptEnabled": "true",
	"acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"

}
```

#### **Response** Parameter Lis&#x74;**：**

<table><thead><tr><th>Parameter Name</th><th width="144">Type</th><th>Description</th></tr></thead><tbody><tr><td>merNo</td><td>String</td><td>【Merchant Number】</td></tr><tr><td>gatewayNo</td><td>String</td><td>【Gateway Number】</td></tr><tr><td>tradeNo</td><td>String</td><td>【Transaction Serial Number】</td></tr><tr><td>orderNo</td><td>String</td><td>【Merchant Order Number】</td></tr><tr><td>orderCurrency</td><td>String</td><td>【Transaction Currency】</td></tr><tr><td>orderAmount</td><td>String</td><td>【Transaction Amount】</td></tr><tr><td>orderStatus</td><td>String</td><td>【Transaction Status Code】<br>Values: -2: Awaiting Confirmation, -1: Processing, 0: Failed, 1: Successful</td></tr><tr><td>orderInfo</td><td>String</td><td>【Transaction result information】Contains result Code and detailed message.</td></tr><tr><td>billAddress</td><td>String</td><td>【Billing Address】<br>Returned on successful payment; empty if payment failed.。</td></tr><tr><td>signInfo</td><td>String</td><td>【Signature (uppercase)】<br>Format: sha256(merNo + gatewayNo + tradeNo + orderNo + orderCurrency + orderAmount + orderStatus + orderInfo + signkey)</td></tr><tr><td>orderErrorCode </td><td>String</td><td>Error code if the transaction failed</td></tr><tr><td>returnType</td><td>String</td><td>Return Type:<br>1: Browser-based synchronous return<br>2: Server-based real-time return<br>3: Server asynchronous return</td></tr><tr><td>remark</td><td>String</td><td> 【Remarks】<br>The value sent will be echoed back as-is</td></tr><tr><td>redirectUrl</td><td>String</td><td>【3D Redirect URL】<br>If not empty, the client should complete the 3DS flow via redirection.</td></tr><tr><td>redirectMethod</td><td>String</td><td>【3D Redirect Method】</td></tr></tbody></table>

* 2D Response Example

```json
{
	"gatewayNo": "44121004",
	"merNo": "44121",
	"orderAmount": "66.50",
	"orderCurrency": "USD",
	"orderErrorCode": "0000",
	"orderInfo": "Success",
	"orderNo": "82171878620469612242111",
	"orderStatus": 1,
	"paymentMethod": "Credit Card",
	"remark": "",
	"returnType": 2,
	"signInfo": "53D1AC783E442E92141A969C6B93942F47C2F42A1194A95B5564C44B9F324900",
	"tradeNo": "HY025062420355316410939"
}
```

* 3D Response Example

```json
{
	"gatewayNo": "44121004",
	"merNo": "44121",
	"orderAmount": "66.50",
	"orderCurrency": "USD",
	"orderErrorCode": "T0007",
	"orderInfo": "Transaction is being processed",
	"orderNo": "82171878620469612242111",
	"orderStatus": -1,
	"paymentMethod": "Credit Card",
	"redirectMethod": "GET",
	"redirectUrl": "https://staging.checkoutgo.top/gateway/PaymentCheckInterface?referenceNo=HY025062420445952166336221",
	"remark": "",
	"returnType": 2,
	"signInfo": "8E93AF09DDD158CF178AABF6B6A682B78796B98BEE8335635CF8D7E373B59B83",
	"tradeNo": "HY025062420445952166336"
}
```

* returnUrl Callback Parameter Example

```
https://xxx/returnUrl?orderId=82171878620469612242111
&tradeNo=HY025062420445952166336&merNo=44121&gatewayNo=44121004&orderNo=82171878620469612242111&orderAmount=66.5&orderCurrency=USD&orderStatus=1&orderErrorCode=0000&orderInfo=Success&billAddress=null&signInfo=F779CF9D752D966CC3CCB400C19C1B161CC12FDDB7CB977EFAD7DB0043F06108&remark=null&returnType=1&paymentMethod=Credit%20Card
```

* notifyUrl Callback Parameter Example

```
{
	"gatewayNo": "44121004",
	"merNo": "44121",
	"orderAmount": "66.5",
	"orderCurrency": "USD",
	"orderErrorCode": "0000",
	"orderInfo": "Success",
	"orderNo": "82171878620469612242111",
	"orderStatus": 1,
	"paymentMethod": "Credit Card",
	"returnType": 3,
	"signInfo": "F779CF9D752D966CC3CCB400C19C1B161CC12FDDB7CB977EFAD7DB0043F06108",
	"tradeNo": "HY025062420445952166336"
}
```

<details>

<summary>Staging Gateway Test Credentials</summary>

2D：\
• Merchant No: 44121\
• Gateway No: 44121004\
• SignKey: n6xr8466\
\
3D：\
• Merchant No: 44121\
• Gateway No: 44121003\
• SignKey: 4Zj28B65

</details>

<details>

<summary>Test cards</summary>

Visa:

4111111111111111 \
4054695723100768&#x20;

\
Mastercard:

5500000000000004\
5424000000000015

</details>
