发布时间:2020-07-28 22:21:09编辑:丝画阁阅读(997)
字段名 | 变量名 | 类型 | 示例值 | 描述 |
订单名称 | order_name | String | 测试商品 | 简单描述交易的商品或交易信息 |
货币 | currency | String | AUD | 下单货币类型 |
金额 | amount | int | 100 | 金额,单位为下单货币的 最 小 货 币 值 。 例 如 currency=AUD, 则 100 表 示 A$1.00。 |
通知地址 | notify_url | String | 交易成功通知地址 | |
跳转地址 | redirect_url | String | 交易成功跳转地址 | |
订单编号 | out_order_no | String | 外部订单编号,请确保唯 一性 | |
是 否 直 接支付 | direct_pay | Int | 1 | 若需要直接支付,则该项填 1 |
是否显示订单展示页 | show_pc_pay_url | Int | 1 | 若需要返回订单展示页,则该项填1 |
门店编号 | o_number | String | 1 | (非必传)指定下单门店编号 |
POS机编号 | pos_no | String | (非必传)指定下单的POS机编号 |
字段名 | 变量名 | 类型 | 示例值 | 描述 |
状态码 | return_code | String | SUCCESS | 成功时返回 SUCCESS |
订单编号 | order_no | String | 32 位 OmiPay 订单编号 | |
跳转 url | pay_url | String | 支付跳转 Url,商户引 导客户跳转至该 Url, 完成支付 |
字段名 | 变量名 | 类型 | 示例值 | 描述 |
状态码 | return_code | String | FAIL | 失败时返回 FAIL |
错误码 | error_code | String | SYSTEM_ERROR | 错误的编码 |
错误信息 | error_msg | String | 服务器错误 | 错误的描述 |
错误码 | 说明 |
WEBSTORE_NOT_EXISTS | 该商户没有注册网店。商户没有在OmiPay登记注册网店会发生该错误。 |
AMOUNT_INVALID | 金额不正确。当金额大于支付平台允许最大单笔交易金 额,或汇率转换后的金额小于支付平台付款最小金额 时,会提示该错误。 |
CURRENCY_ERROR | 货币类型错误,可能是该两种货币类型的汇率无法获取,或是货币类型输入错误。 |
OUT_TRANSACTION_PAID | 外部订单号已支付。 |
TRANSACTION_TIMEOUT | 订单已超时。 |
POS_NOT_REGISTERED | 商户 POS 端未注册。 |
POS_NOT_BIND | Pos机未绑定门店。 |
字段名 | 变量名 | 类型 | 示例值 | 描述 |
商户号 | m_number | String | ||
时间戳 | timestamp | String | 1482812036067 | |
随机字符串 | nonce_str | String | ||
签名 | sign | String | ||
跳转地址 | redirect_url | String | 交易成功后,PC端浏览器跳转地址。该地址可和调用MakeJSAPIOrder时传递的地址不同。 |
String m_number = "商户编号";
String secret_key = "商户密钥";
String order_name = "测试商品";
String currency = "AUD";
String amount = "100";
String redirect_url = "http://your_site.com/redirect_to.html";
String notify_url = "http://your_site.com/receive_notify.html";
String out_order_no = "SEORD000001";
String timeStamp = String.valueOf(System.currentTimeMillis());
JSAPIOrder jsAPIOrder = new JSAPIOrder();
JSONObject result = jsAPIOrder.MakeJSAPIOrder(m_number,secret_key,timeStamp,order_name,currency,amount, notify_url,redirect_url,out_order_no);
System.out.println(result);
String m_number = "商户编号"; String secret_key = "商户密钥"; String order_name = "测试商品"; String currency = "AUD"; String amount = "100"; String redirect_url = "http://your_site.com/redirect_to.html"; String notify_url = "http://your_site.com/receive_notify.html"; String out_order_no = "SEORD000001"; String timeStamp = String.valueOf(System.currentTimeMillis()); JSAPIOrder jsAPIOrder = new JSAPIOrder(); JSONObject result = jsAPIOrder.MakeJSAPIOrder(m_number, secret_key, timeStamp, order_name, currency, amount, notify_url, redirect_url, out_order_no); System.out.println(result);require_once "../lib/OmiPayApi.php";
$input = new MakeJSAPIOrderQueryData();
$domain = 'AU';
// 设置'CN'为访问国内的节点 ,设置为'AU'为访问香港的节点
$time_no = OmiData::getMillisecondPublic();// 获取毫秒的时间戳
$out_order = OmiData::getNonceStrPublic(8);// 获得8位随机字符串, 时间戳+8位随机字符可生成外部订单号
$input -> setMerchantNo('商户编号');
$input -> setSercretKey('商户密钥');
$input -> setNotifyUrl("这里是设置回调通知地址");
$input -> setCurrency("AUD");// 这里是设置币种
$input -> setOrderName("Test_Goods");// 这里是设置商品名称
$input -> setAmount('1');// 这里是设置支付金额
$input -> setOutOrderNo($time_no.$out_order);// 这里是设置外部订单编号,请确保唯一性
$input -> setRedirectUrl("http://192.168.1.110/demo/omipay.api.sdk/");//设置支付完成之后的跳转地址
$result = OmiPayApi::jsApiOrder($input,$domain);
var_dump($result['pay_url']);
//处理获得数据
require_once "../lib/OmiPayApi.php"; $input = new MakeJSAPIOrderQueryData(); $domain = 'AU'; // 设置'CN'为访问国内的节点 ,设置为'AU'为访问香港的节点 $time_no = OmiData::getMillisecondPublic(); $out_order = OmiData::getNonceStrPublic(8);// 获得8位随机字符串, 时间戳+8位随机字符可生成外部订单号 $input->setMerchantNo('商户编号'); $input->setSercretKey('商户密钥'); $input->setNotifyUrl("http://www.omipay.com.au:8000/demo/v2/example/notify.php");// 这里是设置回调通知地址 $input->setCurrency("AUD");// 这里是设置币种 $input->setOrderName("Test_Goods"); // 这里是设置商户名称 $input->setAmount('1');// 这里是设置支付金额 $input->setOutOrderNo($time_no.$out_order); // 这里是设置外部订单编号,请确保唯一性 $input->setRedirectUrl("http://192.168.1.110/demo/omipay.api.sdk/");//设置支付完成之后的跳转地址 $result = OmiPayApi::jsApiOrder($input,$domain); var_dump($result['pay_url']);调用:
var client = new ApiClient(m_number, secret_key, 门店编号, 2, Models.EnumApiNode.CN);
//m_number 商户编号,secret_key 设置商户密钥, 2 API 版本号, Models.EnumApiNode.CN 节点AU/CN;
var response = client.MakeJSAPIOrder(orderName, amount, out_order_no, directPay, notify_url, redirect_url);
//orderName 订单名称,amount 金额, out_order_no 外部订单编号,notify_url 交易通知地址,AUD 货币类型,platform 支付平台;
return Json(response);
访问:
var timeStamp = Utilities.DateTimeToUnixTimestamp(DateTime.UtcNow);
//timeStamp 获取时间戳;
var nonceString = Utilities.GetGUID();
//nonceString 获取随机字符串;
var = Utilities.MakeSign(m_number, secret_key, timeStamp, nonceString);
//m_number 商户编号, secret_key 商户密钥, timeStamp 时间戳, nonceString 随机字符串;
var = $@"{payUrl}&redirect_url={ HttpContext.Server.UrlEncode(Configs.RedirectUrl)}&m_number={Configs.MerchantNo}×tamp={timeStamp}&nonce_str={nonceString}&sign={sign}"
return url;
//处理获取的数据
//调用: var client = new ApiClient(m_number, secret_key, 门店编号, 2, Models.EnumApiNode.CN); //m_number 商户编号,secret_key 设置商户密钥, 2 API 版本号, Models.EnumApiNode.CN 节点AU/CN; var response = client.MakeJSAPIOrder(orderName, amount, out_order_no, directPay, notify_url, redirect_url); //orderName 订单名称,amount 金额, out_order_no 外部订单编号,notify_url 交易通知地址,AUD 货币类型,platform 支付平台; return Json(response); //访问: var timeStamp = Utilities.DateTimeToUnixTimestamp(DateTime.UtcNow); //timeStamp 获取时间戳; var nonceString = Utilities.GetGUID(); //nonceString 获取随机字符串; var = Utilities.MakeSign(m_number, secret_key, timeStamp, nonceString); //m_number 商户编号, secret_key 商户密钥, timeStamp 时间戳, nonceString 随机字符串; var = $@"{payUrl}&redirect_url={ HttpContext.Server.UrlEncode(Configs.RedirectUrl)}&m_number={Configs.MerchantNo}×tamp={timeStamp}&nonce_str={nonceString}&sign={sign}" return url; //处理获取的数据成功返回数据举例
{
"return_code": "SUCCESS",
"pay_url" : "………………"
}
失败返回数据举例
{
"return_code": "FAIL",
"rate": "SIGN_TIMEOUT",
"error_msg": "时间戳超时"
}
关键字:
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】