Credit Card Refund Application
curl --request POST \
--url https://uat-interface.haipay.asia/usd/refund/apply \
--header 'Content-Type: application/json' \
--data '
{
"appId": 123,
"orderId": "<string>",
"orderNo": "<string>",
"sign": "<string>"
}
'import requests
url = "https://uat-interface.haipay.asia/usd/refund/apply"
payload = {
"appId": 123,
"orderId": "<string>",
"orderNo": "<string>",
"sign": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({appId: 123, orderId: '<string>', orderNo: '<string>', sign: '<string>'})
};
fetch('https://uat-interface.haipay.asia/usd/refund/apply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://uat-interface.haipay.asia/usd/refund/apply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'appId' => 123,
'orderId' => '<string>',
'orderNo' => '<string>',
'sign' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://uat-interface.haipay.asia/usd/refund/apply"
payload := strings.NewReader("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://uat-interface.haipay.asia/usd/refund/apply")
.header("Content-Type", "application/json")
.body("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://uat-interface.haipay.asia/usd/refund/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"error": "<string>",
"msg": "<string>",
"data": {
"appId": "<string>",
"orderNo": "<string>",
"orderId": "<string>",
"refundNo": "<string>",
"status": "<string>",
"errorMsg": "<string>",
"sign": "<string>"
}
}International Credit Card
Refund Application
Initiate a refund for the original credit card transaction order. Note the status value in the synchronous response. It is recommended to rely on the query interface for confirmation.
POST
/
usd
/
refund
/
apply
Credit Card Refund Application
curl --request POST \
--url https://uat-interface.haipay.asia/usd/refund/apply \
--header 'Content-Type: application/json' \
--data '
{
"appId": 123,
"orderId": "<string>",
"orderNo": "<string>",
"sign": "<string>"
}
'import requests
url = "https://uat-interface.haipay.asia/usd/refund/apply"
payload = {
"appId": 123,
"orderId": "<string>",
"orderNo": "<string>",
"sign": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({appId: 123, orderId: '<string>', orderNo: '<string>', sign: '<string>'})
};
fetch('https://uat-interface.haipay.asia/usd/refund/apply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://uat-interface.haipay.asia/usd/refund/apply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'appId' => 123,
'orderId' => '<string>',
'orderNo' => '<string>',
'sign' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://uat-interface.haipay.asia/usd/refund/apply"
payload := strings.NewReader("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://uat-interface.haipay.asia/usd/refund/apply")
.header("Content-Type", "application/json")
.body("{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://uat-interface.haipay.asia/usd/refund/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"appId\": 123,\n \"orderId\": \"<string>\",\n \"orderNo\": \"<string>\",\n \"sign\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"error": "<string>",
"msg": "<string>",
"data": {
"appId": "<string>",
"orderNo": "<string>",
"orderId": "<string>",
"refundNo": "<string>",
"status": "<string>",
"errorMsg": "<string>",
"sign": "<string>"
}
}Secret Key & Private Key (Generate Signature)
Related Topics
- International Credit Card (VISA/MASTER) Payment API
- HaiPay API Reference Overview
- HaiPay Configuration and Signature Guide
Body
application/json
Business ID (obtained from backend, must pass corresponding business ID based on currency in URL)
Merchant refund application order number
Platform order number (original collection platform order number returned)
Signature
Last modified on July 9, 2026
Was this page helpful?
⌘I

