Authenticate
post
Body
emailstringOptional
passwordstringOptional
Responses
200
OK
*/*
Responseobject
404
Not Found
*/*
post
/authenticateLast updated
Was this helpful?
OK
Not Found
Last updated
Was this helpful?
Was this helpful?
POST /authenticate HTTP/1.1
Host: localhost:8080
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"email": "text",
"password": "text"
}{}import com.google.gson.Gson;
import org.apache.commons.codec.binary.Hex;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.TreeMap;
import java.util.UUID;
public class PaymentRefund {
private static final String privateKey = "SUB-*******X2B";
private static final String endpoint = "https://sandboxapi.subsidian.net";
private static final String merchantId = "256621051120756";
public static void main(String[] args) throws Exception {
String addr = endpoint + "/api/v1/payment/refund/create";
Gson gson = new Gson();
TreeMap order = new TreeMap<>();
TreeMap amount = new TreeMap<>();
amount.put("currency","EGP");
amount.put("total",new Integer(200));
order.put("amount",amount);
order.put("callbackUrl","https://your-call-back-url.com");
order.put("country","EG");
order.put("originalReference", "fb5ed330-edc1-4c2b-99e2-6b865cdf88f2");
order.put("reference", UUID.randomUUID().toString());
String requestBody = gson.toJson(order);
System.out.println("--request:");
System.out.println(requestBody);
String signature = hmacSHA512(requestBody, privateKey);
System.out.println("--signature:");
System.out.println(oPaySignature);
URL url = new URL(addr);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json; utf-8");
con.setRequestProperty("Authorization", "Bearer "+signature);
con.setRequestProperty("MerchantId", merchantId);
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
byte[] input = requestBody.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8));
StringBuilder response = new StringBuilder();
String responseLine = null;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
System.out.println("--response:");
System.out.println(response.toString());
//close your stream and connection
}
public static String hmacSHA512(final String data, final String secureKey) throws Exception{
byte[] bytesKey = secureKey.getBytes();
final SecretKeySpec secretKey = new SecretKeySpec(bytesKey, "HmacSHA512");
Mac mac = Mac.getInstance("HmacSHA512");
mac.init(secretKey);
final byte[] macData = mac.doFinal(data.getBytes());
byte[] hex = new Hex().encode(macData);
return new String(hex, StandardCharsets.UTF_8);
}
}const request = require('request');
var sha512 = require('js-sha512');
const formData ={
"amount":{
"currency":"EGP",
"total":400
},
"callbackUrl":"https://your-call-back-url.com",
"country":"EG",
"originalReference":"041233989101",
"reference":"04123398911111"
};
var privateKey = "SUB-*******X2B"
var hash = sha512.hmac.create(privateKey);
hash.update(JSON.stringify(formData));
hmacsignature = hash.hex();
console.log(hmacsignature)
request({
url: 'https://sandboxapi.subsidian.net/api/v1/payment/refund/create',
method: 'POST',
headers: {
'MerchantId': '256621051120756',
'Authorization': 'Bearer '+hmacsignature
},
json: true,
body: formData
}, function (error, response, body) {
console.log('body: ')
console.log(body)
}
)