# 6. Payment  Status

### API Endpoint

{% tabs %}
{% tab title="Production" %}

```
Production Base URL /api/GenToken/GetStatus
```

{% endtab %}

{% tab title="Sandbo" %}

```
Sandbox Base URL /api/GenToken/GetStatus
```

{% endtab %}
{% endtabs %}

### **Sample Request & Response**

{% tabs %}
{% tab title="Sample Request" %}

```postman_json
{
    "merchantCode":"xxxxx",
    "authKey":"xxxxx",
    "ReferenceID":"(15 digit number passing during the payment creation)"

}
```

{% endtab %}

{% tab title="Sample Response for Captured" %}

```json
{
  "errorCode": 0,
  "errorMessgae": "",
  "result": {
    "tranDate": 260125,
    "referenceID": 479865896769733,
    "amount": 10,
    "charges": 0.25,
    "paidAmount": 10,
    "countryCode": "KW",
    "currencyCode": "KWD",
    "paymentChannelCode": "KWKNETDCCORE",
    "tunnel": "kibtest",
    "authCode": "B30286",
    "transactionID": "502610000474188",
    "refID": "502610000300",
    "paymentID": "100502610000004439",
    "result": "CAPTURED",
    "status": 1,
    "merchantRef": null,
    "transactionDate": "2025-01-26T12:01:55.4101568",
    "processedDate": "2025-01-26T12:02:36.7615293",
    "mobile": "0",
    "email": null,
    "response": "REFUNDED",
    "info1": "USA",
    "info2": null,
    "info3": null,
    "settlementDate": null,
    "settledDate": null,
    "settledBy": null,
    "isRefunded": true,
    "refundAmount": 10,
    "refundedOn": "2025-01-26T12:03:38.637",
    "refundRefrence": null,
    "commissionAmnt": null,
    "serviceAmount": null,
    "merchantName": null,
    "originalAmount": null,
    "commissionDetails": null,
    "vat": null,
    "vatAmount": null,
    "finalCommission": null
  }
}

```

{% endtab %}

{% tab title="Sample Response for NotCaptured" %}

```
{
  "errorCode": 0,
  "errorMessgae": "",
  "result": {
    "tranDate": 260125,
    "referenceID": 762532132798579,
    "amount": 0.01,
    "charges": 0,
    "paidAmount": 0.01,
    "countryCode": "KW",
    "currencyCode": "KWD",
    "paymentChannelCode": "KWKFHMPGSCCKWD",
    "tunnel": "nbklocal",
    "authCode": null,
    "transactionID": null,
    "refID": null,
    "paymentID": "b394481c3e4c4254",
    "result": "NOT CAPTURED",
    "status": 2,
    "merchantRef": "SESSION0002044905074I70319456L0",
    "transactionDate": "2025-01-26T12:08:14.0891371",
    "processedDate": "2025-01-26T13:54:22.0071249+03:00",
    "mobile": "0",
    "email": null,
    "response": "INVALID_REQUEST||Unable+to+find+order+762532132798579+for+merchant+900484001",
    "info1": "en_US",
    "info2": null,
    "info3": "////",
    "settlementDate": null,
    "settledDate": null,
    "settledBy": null,
    "isRefunded": null,
    "refundAmount": null,
    "refundedOn": null,
    "refundRefrence": null,
    "commissionAmnt": null,
    "serviceAmount": null,
    "merchantName": null,
    "originalAmount": null,
    "commissionDetails": null,
    "vat": null,
    "vatAmount": null,
    "finalCommission": null
  }
}
```

{% endtab %}

{% tab title="Sample Response For Exception" %}

```
{
  "errorCode": 1,
  "errorMessgae": "Transaction not found at OG.",
  "result": {
    "tranDate": null,
    "referenceID": null,
    "amount": null,
    "charges": null,
    "paidAmount": null,
    "countryCode": null,
    "currencyCode": null,
    "paymentChannelCode": null,
    "tunnel": null,
    "authCode": null,
    "transactionID": null,
    "refID": null,
    "paymentID": null,
    "result": null,
    "status": null,
    "merchantRef": null,
    "transactionDate": null,
    "processedDate": null,
    "mobile": null,
    "email": null,
    "response": null,
    "info1": null,
    "info2": null,
    "info3": null,
    "settlementDate": null,
    "settledDate": null,
    "settledBy": null,
    "isRefunded": null,
    "refundAmount": null,
    "refundedOn": null,
    "refundRefrence": null,
    "commissionAmnt": null,
    "serviceAmount": null,
    "merchantName": null,
    "originalAmount": null,
    "commissionDetails": null,
    "vat": null,
    "vatAmount": null,
    "finalCommission": null
  }
}
```

{% endtab %}
{% endtabs %}

#### Response Explanation

If errorCode is not "0" then check errorMessage for more details.

&#x20;If errorCode is "0" then only check for Result object.

### Response Parameters

| Parameters  | Datatype      | Description                                                |
| ----------- | ------------- | ---------------------------------------------------------- |
| referenceID | String        | 15 digit unique transaction number                         |
| amount      | decimal       | Amount of transaction                                      |
| tranDate    | Integer       | Date of the transaction(DDMMYY)                            |
| result      | string        | Shows the result of the transaction (CANCELED or CAPTURED) |
| isRefunded  | Bool(nulable) | True if refunded                                           |

### Sample code to post data

{% tabs %}
{% tab title="C#" %}

```
public async Task> CheckPaymentStatus(PaymentStatus obj)
  {
  Output dto = new Output();
  var url = {Provided End Point};
  var client = new HttpClient();
  client.BaseAddress = new Uri(url);
  try
  {
  var resultser = JsonConvert.SerializeObject(obj);
  client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
  var response = client.PostAsJsonAsync(url, obj).Result;
  if (response.IsSuccessStatusCode)
  {
  var ss = response.Content.ReadAsStringAsync();
  var result = JsonConvert.DeserializeObject>(ss.Result);
  dto = result;
  }
  else
  {
  var ss = response.Content.ReadAsStringAsync();
  var resps = ss.Result.ToString();
  }
  }
  catch (HttpRequestException ex)
  {
  }
  return dto;
  }
```

{% endtab %}

{% tab title="VB.Net" %}

```
Class SurroundingClass
  Public Task As async
  
  Private Sub New(ByVal obj As PaymentStatus )
  Dim dto As Output = New Output()
  Dim url = {Provided End Point};
  Dim client = New HttpClient()
  client.BaseAddress = New Uri(url)
  
  Try
  Dim resultser = JsonConvert.SerializeObject(obj)
  client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))
  client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8")
  Dim response = client.PostAsJsonAsync(url, obj).Result
  
  If response.IsSuccessStatusCode Then
  Dim ss = response.Content.ReadAsStringAsync()
  Dim result = JsonConvert.DeserializeObject > (ss.Result)
  dto = result
  Else
  Dim ss = response.Content.ReadAsStringAsync()
  Dim resps = ss.Result
  Dim resultse = JsonConvert.SerializeObject(resps.ToString())
  End If
  
  Catch ex As HttpRequestException
  End Try
  
  Return dto
  End Sub
  End Class
```

{% endtab %}

{% tab title="PHP" %}

```
<?php

// referenceID must be 15 digit Payment Number
$referenceID = 123456412250000;
$authKey = 'Your Authorization Key';
$merchantID = 'Your Merchent Key';
$data = array(
  'merchantCode' => $merchantID,
  'authKey' => $authKey,
  'referenceID' => $referenceID,
);
$request = json_encode( $data, true );
if ( !$endpoint ) {
  $curl = curl_init( 'Provided End Point' );
} else {
  $curl = curl_init( $endpoint );
}
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $request );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Content-Type:application/json' ) );
$ch = curl_exec( $curl );
curl_close( $curl );
$response = json_decode( $ch, true );
?>
```

{% endtab %}

{% tab title="TypeScript" %}

```
pagecode:` public async Task> PaymentStatus(PaymentStatus obj)
  {
  Output dto = new Output();
  var url = {Provided End Point};
  var client = new HttpClient();
  client.BaseAddress = new Uri(url);
  try
  {
  var resultser = JsonConvert.SerializeObject(obj);
  client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
  var response = client.PostAsJsonAsync(url, obj).Result;
  if (response.IsSuccessStatusCode)
  {
  var ss = response.Content.ReadAsStringAsync();
  var result = JsonConvert.DeserializeObject>(ss.Result);
  dto = result;
  }
  else
  {
  var ss = response.Content.ReadAsStringAsync();
  var resps = ss.Result;
  var resultse = JsonConvert.SerializeObject(resps.ToString());
  
  }
  }
  catch (HttpRequestException ex)
  {
  
  }
  
  return dto;
  
  }`;
```

{% endtab %}
{% endtabs %}


---

# 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://checkoutdocs.oneglobal.com/sample-code/6.-payment-status.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.
