11. Cancellation
Cancellation Service
Cancellation
POST {{Base Address}}/api/paywall/private/cancel
All you have to do is send a request to the address given above. You can use 'Base Address' as you wish for Test environment and Real environment.
apikeyprivate
string
Yes
The Private Key obtained from the merchant panel.
apiclientprivate
string
Yes
The Private Client obtained from the merchant panel.
The parameters that need to be sent to the service are as follows:
MerchantUniqueCode
string
Yes
The MerchantUniqueCode in the request sent to initiate the payment must have the same value. This code is a unique value provided by your side for each transaction. It is used to uniquely identify and track a payment in all Cancel/Refund/Payment Inquiry operations.
Date
date
Yes
Transaction date
{
"Date": "2023-01-23",
"MerchantUniqueCode": "12222a2222a"
}using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class Program
{
private static readonly HttpClient client = new HttpClient();
private static async Task Main()
{
var data = new
{
Date = "2023-01-23",
MerchantUniqueCode = "12222a2222a",
};
var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
content.Headers.Add("apikeyprivate", "%PRIVATEKEY%");
content.Headers.Add("apiclientprivate", "%PRIVATECLIENT%");
var response = await client.PostAsync("{{Private Base Address}}/api/paywall/private/cancel", content);
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
package main
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
"encoding/json"
)
func main() {
url := "{{Private Base Address}}/api/paywall/private/cancel"
data := map[string]interface{}{
"Date": "2023-01-23",
"MerchantUniqueCode": "12222a2222a",
}
reqBody, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(reqBody))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("apikeyprivate", "%PRIVATEKEY%")
req.Header.Set("apiclientprivate", "%PRIVATECLIENT%")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpHeaders;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
Map<String, Object> values = new HashMap<String, Object>() {{
put("Date", "2023-01-23");
put("MerchantUniqueCode", "12222a2222a");
}};
String requestBody = new ObjectMapper().writeValueAsString(values);
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("{{Private Base Address}}/api/paywall/private/cancel"))
.setHeader("Content-Type", "application/json")
.setHeader("apikeyprivate", "%PRIVATEKEY%")
.setHeader("apiclientprivate", "%PRIVATECLIENT%")
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println(response.body());
}
}<?php
$url = '{{Private Base Address}}/api/paywall/private/cancel';
$data = array(
'Date' => '2023-01-23',
'MerchantUniqueCode' => '12222a2222a',
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n" .
"apikeyprivate: %PRIVATEKEY%\r\n" .
"apiclientprivate: %PRIVATECLIENT%\r\n",
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
var_dump($result);
?>import requests
import json
url = "{{Private Base Address}}/api/paywall/private/cancel"
headers = {
'Content-Type': 'application/json',
'apikeyprivate': '%PRIVATEKEY%',
'apiclientprivate': '%PRIVATECLIENT%',
}
data = {
"Date": "2023-01-23",
"MerchantUniqueCode": "12222a2222a",
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("{{Private Base Address}}/api/paywall/private/cancel")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, {
'Content-Type' => 'application/json',
'apikeyprivate' => '%PRIVATEKEY%',
'apiclientprivate' => '%PRIVATECLIENT%',
})
request.body = {Date: "2023-01-23", MerchantUniqueCode: "12222a2222a"}.to_json
response = http.request(request)
puts response.body
import axios from 'axios';
const data = {
Date: "2023-01-23",
MerchantUniqueCode: "12222a2222a",
};
axios.post('{{Private Base Address}}/api/paywall/private/cancel', data, {
headers: {
'Content-Type': 'application/json',
'apikeyprivate': '%PRIVATEKEY%',
'apiclientprivate': '%PRIVATECLIENT%',
}
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error);
});curl -X POST "{{Private Base Address}}/api/paywall/private/cancel" \
-H "Content-Type: application/json" \
-H "apikeyprivate: %PRIVATEKEY%" \
-H "apiclientprivate: %PRIVATECLIENT%" \
-d '{
"Date": "2023-01-23",
"MerchantUniqueCode": "12222a2222a"
}'Response from the service:
ErrorCode
int
Error code. If the operation is successful, it returns a value of '0'.
Result
bool
It returns a true or false value. If the operation is successful, it returns 'true'.
Message
string
If the operation is in error, this is the specified message, providing language support based on the locale parameter.
{
"ErrorCode": 0,
"Result": true,
"Message": "Success",
"Body": null
}Last updated