Manual acquisition
Specify the transaction_id for the settlement request. Use the payment page where the transaction_type is set to 'manual acquisition,' and once the payment is successful, request Eximbay for acquiring.
Eximbay requests the acquisition of successful transactions from the acquiring bank and acquiring bank settle the amount to merchants. In general, once the payment is authorized, the acquiring process will be carried out by the acquiring bank through Eximbay on the following business day.
Two methods for processing acquisition for merchants.
Automated acquisition
Manual acquisition
An additional contract is required for the manual acquiring API.
Invoke the manual acquisition API
To request manual acquisition for an authorized payment, use the transaction_id generated during the payment authorization result. Include the transaction_id as a path parameter when calling the manual acquisition API endpoint.
curl --request POST 'https://api-test.eximbay.com/v1/payments/{transaction_id}/capture' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"mid" : "1849705C64",
"payment" : {
"order_id" : "20220902101716",
"currency" : "USD",
"amount" : "1",
"lang" : "EN"
}
}'
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
headers.add("Authorization", "Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=");
URI url = URI.create("https://api-test.eximbay.com/v1/payments/{transaction_id}/capture");
String body = "{\n" +
"\"mid\" : \"1849705C64\",\n" +
"\"payment\" : {\n" +
"\"order_id\" : \"20220902101716\",\n" +
"\"currency\" : \"USD\",\n" +
"\"amount\" : \"1\",\n" +
"\"lang\" : \"EN\"\n" +
" }\n" +
"}";
HttpEntity<String> entity = new HttpEntity<>(body, headers);
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
System.out.println(response.getBody());
<?php
$url = 'https://api-test.eximbay.com/v1/payments/{transaction_id}/capture';
$data = '{
"mid" : "1849705C64",
"payment" : {
"order_id" : "20220902101716",
"currency" : "USD",
"amount" : "1",
"lang" : "EN"
}
}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo='));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
?>
import requests
import json
url = "https://api-test.eximbay.com/v1/payments/{transaction_id}/capture"
headers = {
"Authorization": "Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=",
"Content-Type": "application/json"
}
request = {
"mid" : "1849705C64",
"payment" : {
"order_id" : "20220902101716",
"currency" : "USD",
"amount" : "1",
"lang" : "EN"
}
}
response = requests.post(url, headers=headers, data=json.dumps(request))
print(response.text)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api-test.eximbay.com/v1/payments/{transaction_id}/capture',
'headers': {
'Authorization': 'Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"mid": "1849705C64",
"payment": {
"order_id": "20220902101716",
"currency": "USD",
"amount": "1",
"lang": "EN"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
string uri = "https://api-test.eximbay.com/v1/payments/{transaction_id}/capture";
string body = "{\n" +
"\"mid\" : \"1849705C64\",\n" +
"\"payment\" : {\n" +
"\"order_id\" : \"20220902101716\",\n" +
"\"currency\" : \"USD\",\n" +
"\"amount\" : \"1\",\n" +
"\"lang\" : \"EN\"\n" +
" }\n" +
"}";
WebClient webClient = new WebClient();
webClient.Headers[HttpRequestHeader.ContentType] = "application/json";
webClient.Headers[HttpRequestHeader.Authorization] = "Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=";
webClient.Encoding = UTF8Encoding.UTF8;
string responseJSON = webClient.UploadString(uri, body);
Console.Write(responseJSON);
val restTemplate = RestTemplate()
val headers = HttpHeaders()
headers.add("Content-Type", "application/json")
headers.add("Authorization", "Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=")
var url = URI.create("https://api-test.eximbay.com/v1/payments/{transaction_id}/capture")
val body = "{\n" +
"\"mid\" : \"1849705C64\",\n" +
"\"payment\" : {\n" +
"\"order_id\" : \"20220902101716\",\n" +
"\"currency\" : \"USD\",\n" +
"\"amount\" : \"1\",\n" +
"\"lang\" : \"EN\"\n" +
" }\n" +
"}"
var entity = HttpEntity<String>(body, headers)
var response = restTemplate.exchange(url, HttpMethod.POST, entity, String::class.java)
println(response.body)
A Success message will be returned by the resmsg if the manual acquisition is successful.
{
"rescode": "0000",
"resmsg": "Success.",
"mid": "1849705C64",
"payment": {
"order_id": "20220922114007",
"currency": "USD",
"amount": "1",
"transaction_id": "1849705C6420220922000016",
"captured_date": "20220922114212",
"partially_cancelable ": "Y"
}
}