> For the complete documentation index, see [llms.txt](https://docs.galaxypay.vn/upc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.galaxypay.vn/upc/payment-gateway/api-specification/payment/pay-with-option.md).

# Pay with Option

See information of Pay with option [here](/upc/payment-gateway/payment-solution/pay-with-option.md)

## Integration

See integration detail in [General integration steps](/upc/payment-gateway/payment-solution/general-integration-steps.md)

{% hint style="info" %}
Refer to the [Code Samples and API Playground](https://uat-demo.galaxypay.vn/documents#post-/api/v1/transaction/payWithOption) for detailed sample code and API testing.
{% endhint %}

| Endpoint URL | Route                            |
| ------------ | -------------------------------- |
| Base URL     | api/v1/transaction/payWithOption |

Example:

<https://uat-secure.galaxypay.vn/api/v1/transaction/payWithOption>

### Request Message

#### Header

<table><thead><tr><th width="92">Level</th><th width="152">Field Name</th><th width="199">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>apiKey</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Request authenticate</td></tr><tr><td>1</td><td>signature</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Request signature</td></tr></tbody></table>

#### Body

<table><thead><tr><th width="89">Level</th><th width="158">Field Name</th><th width="197">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>requestID</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">mandatory</mark></em></td><td><p>Unique ID for each transaction request</p><p></p><p><strong>Recommend</strong>: GUID</p></td></tr><tr><td>1</td><td>requestDateTime</td><td>Numeric(14)<br><em><mark style="color:blue;">mandatory</mark></em></td><td><strong>yyyyMMddHHmmss</strong></td></tr><tr><td>1</td><td>requestData</td><td>JSON Object</td><td><br></td></tr><tr><td>2</td><td>apiVersion</td><td>Numeric(5)<br><em><mark style="color:blue;">optional</mark></em></td><td>Specify the api version. Current supported version is 2.<br><br>If this field is omitted, the default value of apiVersion is <strong>1</strong></td></tr><tr><td>2</td><td>apiOperation</td><td>Alpha(20)<br><em><mark style="color:blue;">mandatory</mark></em></td><td><p><strong>PAY</strong> or <strong>PAY_WITH_CREATE_TOKEN</strong></p><p></p><p>PAY_WITH_CREATE_TOKEN: Only use for request payment and create token.</p></td></tr><tr><td>2</td><td>orderID</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Transaction ID at Merchant</td></tr><tr><td>2</td><td>orderNumber</td><td>Alphanumeric(20)<br><em><mark style="color:blue;">optional</mark></em></td><td>Order Number or Bill Number</td></tr><tr><td>2</td><td>orderAmount</td><td>Numeric(16)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Transaction Amount</td></tr><tr><td>2</td><td>orderCurrency</td><td>Alpha(3)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Send the code in <a href="/pages/9qc6oGrvkG54qieoVRAW">Currencies</a></td></tr><tr><td>2</td><td>orderDateTime</td><td>Numeric(14)<br><em><mark style="color:blue;">mandatory</mark></em></td><td><strong>yyyyMMddHHmmss</strong></td></tr><tr><td>2</td><td>orderDescription</td><td>Alphanumeric(250)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Transaction Description</td></tr><tr><td>2</td><td>language</td><td>Alpha(2)<br><em><mark style="color:blue;">optional</mark></em></td><td><p>vi or en</p><p></p><p>vi: Vietnamese</p><p>en: English</p></td></tr><tr><td>2</td><td>successURL</td><td>Alphanumeric(500)<br><em><mark style="color:blue;">optional</mark></em></td><td>Callback URL when Payment is success</td></tr><tr><td>2</td><td>failureURL</td><td>Alphanumeric(500)<br><em><mark style="color:blue;">optional</mark></em></td><td>Callback URL when Payment is failure</td></tr><tr><td>2</td><td>cancelURL</td><td>Alphanumeric(500)<br><em><mark style="color:blue;">optional</mark></em></td><td>Callback URL when Customer cancel payment</td></tr><tr><td>2</td><td>ipnURL</td><td>Alphanumeric(500)<br><em><mark style="color:blue;">optional</mark></em></td><td>IPN URL</td></tr><tr><td>2</td><td>subMerchant</td><td>JSON Object<br><em><mark style="color:blue;">optional</mark></em></td><td>Only use for master merchant scope</td></tr><tr><td>3</td><td>identifier</td><td>String(50)<br><em><mark style="color:blue;">optional</mark></em></td><td>Sub-merchant ID</td></tr><tr><td>2</td><td>extraData</td><td>JSON Object<br><em><mark style="color:blue;">optional</mark></em></td><td><p>Extra data. </p><p>Same as <a href="/pages/RAa5rTe6VE7oVV3DDnKh#body">API Pay</a></p></td></tr></tbody></table>

```
{
  "requestID": "dc9845fdb2fc4ebfa2563caffe26284a",
  "requestDateTime": "20230726172332",
  "requestData": {
    "apiOperation": "PAY",
    "orderID": "2a43e4b9-c5df-49e6-8b18-42af9bcd150e",
    "orderNumber": 205249008064,
    "orderAmount": 100000,
    "orderCurrency": "VND",
    "orderDateTime": 20230726172332,
    "orderDescription": "DEMO TRANSACTION",
    "language": "vi",
    "extraData": {
    }
  }
}
```

### Response Message

#### Header

<table><thead><tr><th width="91">Level</th><th width="166">Field name</th><th width="192">Data Type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>signature</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response signature</td></tr></tbody></table>

#### Body

<table><thead><tr><th width="94">Level</th><th width="180">Field name</th><th width="188">Data type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>requestID</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Original Request ID</td></tr><tr><td>1</td><td>responseDateTime</td><td>Numeric(14)<br><em><mark style="color:blue;">mandatory</mark></em></td><td><strong>yyyyMMddHHmmss</strong></td></tr><tr><td>1</td><td>responseCode</td><td>Numeric(3)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>See <a href="/pages/sBk2eUqKYscTG2fiXwOK">Response Codes</a> for more detail</td></tr><tr><td>1</td><td>responseMessage</td><td>Alphanumeric(250)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response message</td></tr><tr><td>1</td><td>responseData</td><td>JSON Object<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response data</td></tr><tr><td>2</td><td>transactionID</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>GALAXY PAY transaction ID</td></tr><tr><td>2</td><td>endpoint</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td><p>Secure Payment URL </p><p>(Use for Redirect)</p></td></tr></tbody></table>

```
{
  "requestID": "dc9845fdb2fc4ebfa2563caffe26284a",
  "responseDateTime": "20230726172332",
  "responseCode": "200",
  "responseMessage": "Success",
  "responseData": {
    "transactionID": "2307264944869814641620077",
    "endpoint": "https://uat-payment.galaxypay.vn/payWithOption/2307264944869814641620077/20230726172332/993c33d5640b80c4b9ee5f7a0bc6169e6621d032c345b91babb5b2973b75158f"
  }
}
```
