9. Refund
Return Service
Refund
POST {{Base Address}}/api/paywall/private/refund
You just need to send a request to the address provided above. You can use the 'Base Address' as you wish for both the test environment and the production environment.
apikeyprivate
string
Yes
The Private Key obtained from the member business panel.
apiclientprivate
string
Yes
The Private Client you have obtained from the member business panel.
The parameters that need to be sent to the service are as follows:
Date
date
Yes
The date of the payment transaction.
MerchantUniqueCode
string
Yes
The MerchantUniqueCode sent within the payment initiation request must be the same value. This code represents a unique identifier provided by your side for the transaction. It is used to uniquely identify and track a payment across various operations such as cancellation, refund, and payment inquiries.
{
"Date": "2023-02-07",
"MerchantUniqueCode": "AA90T0SD0ASF99"
}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-02-07",
MerchantUniqueCode = "AA90T0SD0ASF99"
};
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/refund", 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/refund"
data := map[string]string{
"Date": "2023-02-07",
"MerchantUniqueCode": "AA90T0SD0ASF99",
}
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, String> values = new HashMap<String, String>() {{
put("Date", "2023-02-07");
put("MerchantUniqueCode", "AA90T0SD0ASF99");
}};
String requestBody = new ObjectMapper().writeValueAsString(values);
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("{{Private Base Address}}/api/paywall/private/refund"))
.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/refund';
$data = array(
"Date" => "2023-02-07",
"MerchantUniqueCode" => "AA90T0SD0ASF99",
);
$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 */ }
// Decode
$response = json_decode($result);
// ErrorCode-Result-Message
echo "ErrorCode: " . $response->ErrorCode . "\n";
echo "Result: " . ($response->Result ? "true" : "false") . "\n";
echo "Message: " . $response->Message . "\n";
?>import requests
import json
url = '{{Private Base Address}}/api/paywall/private/refund'
headers = {
'Content-Type': 'application/json',
'apikeyprivate': '%PRIVATEKEY%',
'apiclientprivate': '%PRIVATECLIENT%',
}
data = {
"Date": "2023-02-07",
"MerchantUniqueCode": "AA90T0SD0ASF99",
}
response = requests.post(url, headers=headers, data=json.dumps(data))
response_data = response.json()
print('ErrorCode:', response_data['ErrorCode'])
print('Result:', response_data['Result'])
print('Message:', response_data['Message'])require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("{{Private Base Address}}/api/paywall/private/refund")
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-02-07", MerchantUniqueCode: "AA90T0SD0ASF99"}.to_json
response = http.request(request)
puts response.bodyconst axios = require('axios');
const data = {
Date: "2023-02-07",
MerchantUniqueCode: "AA90T0SD0ASF99"
};
axios.post('{{Private Base Address}}/api/paywall/private/refund', data, {
headers: {
'Content-Type': 'application/json',
'apikeyprivate': '%PRIVATEKEY%',
'apiclientprivate': '%PRIVATECLIENT%',
}
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});curl -X POST "{{Private Base Address}}/api/paywall/private/refund" \
-H "Content-Type: application/json" \
-H "apikeyprivate: %PRIVATEKEY%" \
-H "apiclientprivate: %PRIVATECLIENT%" \
-d '{
"Date": "2023-02-07",
"MerchantUniqueCode": "AA90T0SD0ASF99"
}'Response from the service:
Body
object
JSON containing payment details (optional)
ErrorCode
int
Error code. Returns '0' if the operation is successful.
Result
bool
Returns a true or false value. Returns 'true' if the operation is successful.
Message
string
If the operation fails, this is the specified error message that provides language support based on the 'locale' parameter.
{
"ErrorCode": 0,
"Result": true,
"Message": "Success",
"Body": null
}Last updated