Refund
POST
https://mapi.yuansfer.com/app-data-search/v3/refund
This API refunds the payment of a transaction.
Request Body
The refund amount in price currency.
The supported transaction currency are "USD".
The supported settlement currency are "USD".
The Transaction ID in the Yuansfer system. Either transactionNo or reference is required.
The Invoice Number of the transaction in the merchant's system. Either transactionNo or reference is required.
The ID of the refund transaction in the merchant's system.
{
"result": {
"amount": "0.01",
"currency": "USD",
"reference": "test20200101306",
"refundAmount": "0.01",
"refundReference": "refund2020101305",
"refundTransactionNo": "297553638302358781",
"settleCurrency": "USD",
"status": "success",
"transactionNo": "297553638301777927"
},
"ret_msg": "refund success ",
"ret_code": "000100"
}
Response
The result of the refund.
The response return message.
The response return code. For more details, see here.
Result Object
The transaction refund amount. This parameter will be returned only when the payment order contains a 'Amount'.
The supported transaction currencies are "USD" "CNY".
The supported settlement currencies are "USD".
The status of the refund.
The Invoice Number of the transaction in the merchant’s system.
The ID of the refund transaction in the merchant’s system.
The ID of the refund transaction in the Yuansfer system.
The Transaction ID in the Yuansfer system.
curl -XPOST -H "Content-type: application/json" -d '{
"merchantNo": "200043",
"storeNo": "300014",
"verifySign": "dd81f7781603bec48ae2c6a9ac758bf2",
"refundAmount": "0.01",
"currency": "USD",
"settleCurrency": "USD",
"transactionNo": "297553638301777927",
"refundReference": "refund2020101305"
}' 'https://mapi.yuansfer.com/app-data-search/v3/refund'
<?php
function securepayRefund()
{
$url = 'https://mapi.yuansfer.com/app-data-search/v3/refund';
$token = '5cbfb079f15b150122261c8537086d77a';
$params = [
'merchantNo' => '200043',
'storeNo' => '300014',
'amount' => '0.01',
'reference' => 'test2018070101'];
ksort($params, SORT_STRING);
$str = '';
foreach ($params as $k => $v) {
$str .= $k . '=' . $v . '&';
}
$params['verifySign'] = md5($str . md5($token));
echo 'verifySign:', $params['verifySign'];
echo "\n";
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
));
$result = curl_exec($ch);
curl_exec($ch);
echo $result;
echo "\n";
return json_decode($result, true);
}
securepayRefund();
?>
public class SecurepayRefundTest {
public static final String TEST_URL = "https://mapi.yuansfer.yunkeguan.com"; //Testing domain
public static final String PROD_URL = "https://mapi.yuansfer.com"; //Production domain
public static final String YUANSFER_TOKEN = "5c5fe30183be69fceff8174358d4b8ae";
public static void main(String[] args) {
YuansferSecurepayRefundDto refundDto = new YuansferSecurepayRefundDto();
YuansferVerifySignHelper verifyHelper = new YuansferVerifySignHelper();
refundDto.setAmount("0.01");
refundDto.setCurrency("USD");
refundDto.setSettleCurrency("USD");
refundDto.setMerchantNo("200043");
refundDto.setStoreNo("300014");
refundDto.setReference("9091023122");
Map<String, Object> params = ReflectionUtils.convertBean2MapIgnoreNullVal(refundDto, new String[]{"serialVersionUID"});
String verifySign = verifyHelper.getYuansferVerifySign(params, YUANSFER_TOKEN);
refundDto.setVerifySign(verifySign);
params.put("verifySign", verifySign);
String url = TEST_URL + "/app-data-search/v3/refund";
String ret = HttpClientUtils.post(url, null, params);
JSON json = JSON.parseObject(ret);
System.out.println(json);
}
}
func refund(t *table) {
req := yuan.Refund{
MerchantNo: "200043", //customer The merchant NO.
StoreNo: "300014",
Currency: "USD",
SettleCurrency: "USD",
Reference: "original sequence No.", //sequence number of customer system
Amount: "0.01",
}
resp, err := req.PostToYuansfer(yuansferToken)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(resp)
}