# Transfer

### Payment Process

<figure><img src="/files/J3XQPDNCRxh2tCtE9z5B" alt=""><figcaption></figcaption></figure>

1\. The user places an order on the merchant's website/app and selects Transfer to pay;

2\. The merchant initiates a Transfer payment request to Supefina;

3\. Supefina returns the URL address of Transfer payment;

4\. The merchant will open the address on the user's side;

5\. The user shall verify and pay according to the prompts on the page;

6\. The user pays successfully;

7\. Supefina will notify the merchant of the payment success information.

### The address of the request

<table data-full-width="true"><thead><tr><th width="219.61248779296875">The name of the environment</th><th width="607">URL</th></tr></thead><tbody><tr><td>SandBox </td><td><mark style="color:blue;"><code>POST</code></mark><br>https://api.supefina.tech/api/supefina/transactions/payin</td></tr><tr><td><mark style="color:red;">Formal environment</mark></td><td><mark style="color:red;"><code>POST</code></mark><br><mark style="color:red;">https://api.supefina.net/api/supefina/transactions/payin</mark></td></tr></tbody></table>

### Request parameters

#### Request header

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

#### Request body

<table data-full-width="true"><thead><tr><th width="235">Variable name</th><th width="96"> type</th><th width="127"> Required</th><th width="511">description</th></tr></thead><tbody><tr><td>countryId</td><td>String</td><td>Yes</td><td><p>Country number </p><p>Reference: <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#afwzp">Dictionary table - country number</a> </p><p>Ecuador: <code>ECU</code></p></td></tr><tr><td>merId</td><td>String</td><td>Yes</td><td>Merchant ID<br>Merchant ID acquisition path: Supefina Merchant Background - Merchant Management - Basic Information - Merchant ID</td></tr><tr><td>payProduct</td><td>String</td><td>Yes</td><td><p><a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#mfocd">Payment type</a> </p><p>Transfer：<code>12</code></p></td></tr><tr><td>currency</td><td>String</td><td>Yes</td><td><p>Currency </p><p>Reference: <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#huo-bi-currency">Dictionary Table - Currency</a> </p><p>USD: <code>USD</code></p></td></tr><tr><td>merOrderNo</td><td>String</td><td>Yes</td><td>Merchant order number</td></tr><tr><td>orderAmount</td><td>String</td><td>Yes</td><td>The amount of the order<br>0>= <code>orderAmount</code> &#x3C;= 10,000</td></tr><tr><td>customerEmail</td><td>String</td><td>Yes</td><td>The user's email address</td></tr><tr><td>customerName</td><td>String</td><td>Yes</td><td>User's name</td></tr><tr><td>lastName</td><td>String</td><td>Yes</td><td>The user's last name</td></tr><tr><td>customerIdentificationType</td><td>String</td><td>Yes</td><td><p>The type of user identification file </p><p><code>07</code>: Identity Document (CI) </p><p><code>10</code>: Passport number (PP) (only for cash) </p><p><code>03</code>: Passport Identification (PAS) (only for BankTransfer) </p><p><code>02</code>: Tax Identification Number (RUC)</p></td></tr><tr><td>customerIdentification</td><td>String</td><td>Yes</td><td>The user's ID number</td></tr><tr><td>nonceStr</td><td>String</td><td>Yes</td><td>Random strings<br>The length cannot exceed 32 bits</td></tr><tr><td>sign</td><td>String</td><td>Yes</td><td><p>signature</p><p><a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/qian-ming-suan-fa">For details, please refer to: Signature algorithm</a></p></td></tr><tr><td>callbackUrl</td><td>String</td><td>No</td><td><p>Callback address</p><p>For details, see <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/tong-zhi-hui-tiao-shuo-ming">Notification Callbacks</a></p></td></tr><tr><td>expireTimeL</td><td>Long</td><td>No</td><td>Expiration time<br>Unit: seconds; The default is 1 day, and merchants are advised to control the time by themselves</td></tr><tr><td>customerPhone</td><td>String</td><td>No</td><td>User phone</td></tr><tr><td>checkOut</td><td>Boolean</td><td>No</td><td><p>Cash register </p><p><code>true</code>: The cashier is required </p><p><code>false</code>: The cash register is not required It is recommended to pass <code>true</code></p></td></tr></tbody></table>

### Sample request

{% code fullWidth="true" %}

```json
{
    "countryId": "ECU",
    "merId": "8101499116984570",
    "payProduct": "12",
    "currency": "USD",
    "merOrderNo": "devtest0005",
    "orderAmount": "200",
    "customerEmail": "123456@supefina.com",
    "customerName": "testName",
    "lastName": "test",
    "customerIdentificationType": "07",
    "customerIdentification": "87654321",
    "nonceStr": "123",
    "sign": "R9d1Enp0XUS5YMwv0EP$blm9mWTWwyoB"
}
```

{% endcode %}

### Response parameters

<table data-full-width="true"><thead><tr><th width="235">Variable name</th><th width="96"> type</th><th width="492"> description</th></tr></thead><tbody><tr><td>code</td><td>String</td><td><p>Response coding </p><p>For details, see <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/xiang-ying-zhuang-tai-ma">Response Status Code</a></p></td></tr><tr><td>msg</td><td>String</td><td>Response Information</td></tr><tr><td>data</td><td>Object</td><td>Response data</td></tr><tr><td>merCode</td><td>String</td><td>Merchant ID</td></tr><tr><td>merOrderNo</td><td>String</td><td>Merchant order number</td></tr><tr><td>supefinaOrderNo</td><td>String</td><td>Supefina order number</td></tr><tr><td>amount</td><td>BigDecimal</td><td>The amount of the order</td></tr><tr><td>fee</td><td>BigDecimal</td><td>Advance handling fee will be charged</td></tr><tr><td>identifier</td><td>String</td><td>Payment Reference</td></tr><tr><td>transactionStatus</td><td>String</td><td><p>Order status </p><p>Whether the initiation status of the order is successful or not has nothing to do with the real transaction status of the order. </p><p><code>00</code>: The order is successful </p><p><code>04</code>: Failed to place an order</p></td></tr><tr><td>url</td><td>String</td><td>Transaction links</td></tr></tbody></table>

#### Sample response

{% code fullWidth="true" %}

```json
{
    "code": "string",
    "msg": "string",
    "data": {
        "merCode": "string",
        "merOrderNo": "string",
        "supefinaOrderNo": "string",
        "amount": 0,
        "fee": 0,
        "transactionStatus": "string",
        "url": "string",
        "identifier": "string"
    }
}
```

{% endcode %}

### Callback notifications

Submission method:`POST`

<table data-full-width="true"><thead><tr><th width="235">Variable name</th><th width="96">type</th><th width="517">description</th></tr></thead><tbody><tr><td>amount</td><td>String</td><td>The amount of the order</td></tr><tr><td>countryId</td><td>String</td><td>Country number</td></tr><tr><td>fee</td><td>String</td><td>Advance handling fee will be charged</td></tr><tr><td>identifier</td><td>String</td><td>Payment Reference<br>Clabe</td></tr><tr><td>merId</td><td>String</td><td>Merchant code</td></tr><tr><td>merOrderId</td><td>String</td><td>Merchant order number</td></tr><tr><td>msg</td><td>String</td><td>Information</td></tr><tr><td>nonceStr</td><td>String</td><td>Random strings<br>The length cannot exceed 32 bits</td></tr><tr><td>realityAmount</td><td>String</td><td>Paid-in amount</td></tr><tr><td>realityFee</td><td>String</td><td>Actual handling fee</td></tr><tr><td>reference</td><td>String</td><td>identifier</td></tr><tr><td>sign</td><td>String</td><td>signature</td></tr><tr><td>status</td><td>String</td><td><p>Transaction status </p><p>For details, please refer to: <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#kxzkj">Dictionary Table - Trading Order Status</a></p></td></tr><tr><td>successTime</td><td>Date</td><td>The time at which the transaction was successful</td></tr><tr><td>supefinaOrderId</td><td>String</td><td>Supefina order number</td></tr><tr><td>transactionType</td><td>String</td><td>The type of transaction<br><code>01</code>：Payin<br><code>02</code>：Payout</td></tr></tbody></table>

#### An example of a callback notification

{% code fullWidth="true" %}

```json
{
    "amount": "230.00",
    "countryId": "ECU",
    "customerName": "Test Name",
    "fee": "6.90",
    "identifier": "90911988431",
    "merId": "8202980903390150",
    "merOrderId": "17922853818122896811753697281175369728",
    "nonceStr": "935111b9-968e-4b3d-9036-fd1acf",
    "realityAmount": "230",
    "realityFee": "6.90",
    "reference": "90911988431",
    "sign": "69DF96903B85CD1408BD6849C62254C0",
    "status": "01",
    "successTime": 1716149235000,
    "supefinaOrderId": "202405190101010696298b1ca1141",
    "transactionType": "01"
}
```

{% endcode %}

**Callback notification response**

After the merchant successfully receives the callback, it needs to return the specified string synchronously: SUCCESS does not return or returns other content by default, and the notification fails\
As:

{% code fullWidth="true" %}

```java
public String test(){
	return "SUCCESS";
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.supefina.net/english/welcome-to-supefinas-api-documentation/payin/ecuador/transfer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
