在 payfort 支付网关中生成商家参考
generate merchant reference in payfort payment gateway
我正在我的 android 应用程序中集成 payfort 支付网关。我已经使用 rest api 生成了令牌
https://sbpaymentservices.payfort.com/FortAPI/paymentApi 现在我必须将该令牌传递给 fort sdk 以进行交易。
但是Merchant reference也需要生成才能传入堡垒sdk。我找不到关于如何生成商家参考的任何信息,因为 payfort 文档中没有给出任何内容。
我也和支持人员谈过,他们说我们必须通过我们自己的算法创建商家参考
有谁知道如何创建商家参考资料吗??任何帮助将不胜感激
String device_id = FortSdk.getDeviceId(this);
Log.e("device_iddd",device_id+"");
Map<String, String> map = new HashMap<>();
map.put("command", "AUTHORIZATION");
map.put("amount",String.valueOf(1));
map.put("language", "en");
map.put("merchant_reference", "r1FANA78-ok00tH0");
map.put("currency","SAR");
map.put("customer_name", "bharat");
map.put("customer_email", "bharat56@gmai.com");
map.put("order_description", "Description");
map.put("return_url", "http://faza.fazadigital.com/Faza_WS/payfortReturnPage.php");
map.put("sdk_token", "441E41CFFF2E49F2E053321E320A4884");
fortRequest.setRequestMap(map);
try {
FortSdk.getInstance().registerCallback(this, fortRequest, FortSdk.ENVIRONMENT.TEST, 10, fortCallback, new FortInterfaces.OnTnxProcessed() {
@Override
public void onCancel(Map<String, String> requestParamsMap, Map<String, String> responseMap) {
showProgress(false);
for (Map.Entry<String, String> entry : responseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("cancel", key + "////////" + value);
// do stuff
}
}
@Override
public void onSuccess(Map<String, String> requestParamsMap, Map<String, String> fortResponseMap) {
for (Map.Entry<String, String> entry : fortResponseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("responsee", key + "////////" + value);
// do stuff
}
}
@Override
public void onFailure(Map<String, String> requestParamsMap, Map<String, String> fortResponseMap) {
for (Map.Entry<String, String> entry : fortResponseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("failure", key + "////////" + value);
// do stuff
}
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
在您的代码中,您使用 merchant_reference 作为静态值,但 merchant_refernce 不应该是静态的,它应该是每次作为系统当前时间(以毫秒为单位)的唯一值 String.valueOf (System.currentTimeMillis());
您在 PayFort 注册时生成的商户标识符和访问代码值应始终相同。这些是基于商家注册的,并且对于每个注册用户都是唯一的。
我正在我的 android 应用程序中集成 payfort 支付网关。我已经使用 rest api 生成了令牌 https://sbpaymentservices.payfort.com/FortAPI/paymentApi 现在我必须将该令牌传递给 fort sdk 以进行交易。
但是Merchant reference也需要生成才能传入堡垒sdk。我找不到关于如何生成商家参考的任何信息,因为 payfort 文档中没有给出任何内容。
我也和支持人员谈过,他们说我们必须通过我们自己的算法创建商家参考
有谁知道如何创建商家参考资料吗??任何帮助将不胜感激
String device_id = FortSdk.getDeviceId(this);
Log.e("device_iddd",device_id+"");
Map<String, String> map = new HashMap<>();
map.put("command", "AUTHORIZATION");
map.put("amount",String.valueOf(1));
map.put("language", "en");
map.put("merchant_reference", "r1FANA78-ok00tH0");
map.put("currency","SAR");
map.put("customer_name", "bharat");
map.put("customer_email", "bharat56@gmai.com");
map.put("order_description", "Description");
map.put("return_url", "http://faza.fazadigital.com/Faza_WS/payfortReturnPage.php");
map.put("sdk_token", "441E41CFFF2E49F2E053321E320A4884");
fortRequest.setRequestMap(map);
try {
FortSdk.getInstance().registerCallback(this, fortRequest, FortSdk.ENVIRONMENT.TEST, 10, fortCallback, new FortInterfaces.OnTnxProcessed() {
@Override
public void onCancel(Map<String, String> requestParamsMap, Map<String, String> responseMap) {
showProgress(false);
for (Map.Entry<String, String> entry : responseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("cancel", key + "////////" + value);
// do stuff
}
}
@Override
public void onSuccess(Map<String, String> requestParamsMap, Map<String, String> fortResponseMap) {
for (Map.Entry<String, String> entry : fortResponseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("responsee", key + "////////" + value);
// do stuff
}
}
@Override
public void onFailure(Map<String, String> requestParamsMap, Map<String, String> fortResponseMap) {
for (Map.Entry<String, String> entry : fortResponseMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Log.e("failure", key + "////////" + value);
// do stuff
}
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
在您的代码中,您使用 merchant_reference 作为静态值,但 merchant_refernce 不应该是静态的,它应该是每次作为系统当前时间(以毫秒为单位)的唯一值 String.valueOf (System.currentTimeMillis());
您在 PayFort 注册时生成的商户标识符和访问代码值应始终相同。这些是基于商家注册的,并且对于每个注册用户都是唯一的。