请重新加载

API文档简介

回到首页  |  中文  下载 |   English  Download

请重新加载

OmiPay Web API 接入说明

接口规则

协议规则

传输协议 HTTPS
提交方式 请求以POST/GET方式提交
数据格式 请求和返回数据为 Json 格式
字符编码 字符编码使用 UTF-8 编码
签名算法 签名算法为 MD5
数据传递方式 数据以 QueryString 方式传递,将所有数据拼接到 URL 中作 为参数进行传递
Http Header ContentType=application/json
超时设定 请求超时时间为 5 分钟,即服务器请求接收时间与时间戳标 识时间间隔需要小于 5 分钟。

参数规定

1)金额
金额精确到币种的最小单位,以整数形式表示。
2)币种
接口现在支持的交易币种为澳元和人民币(AUD/CNY)
3)时间
时间为澳洲东部时间 EST。
4)时间戳
UTC 标准时间,自 1970 年 1 月 1 日 0 点 0 分 0 秒以来的毫秒数。
5)随机字符串
10-32 位随机码,允许使用 a-z | A-Z | 0-9 字符。用于保证签名的不可预测性。推 荐使用随机数算法生成。
6)支付平台
OmiPay 支持以下支付平台:
平台名称 对应接口 platform 参数值
微信支付 WECHATPAY
支付宝 ALIPAY
7) 接口语言
OmiPay WebAPI 接口可以使用以下语言:
语言 对应接口 language 参数值 英
英文 EN
简体中文(默认) CHS

接口安全认证

1)验证字段
每次访问需要携带的验证如下:
字段名 类型 说明
m_number String 商户编号。可在商户后台中找到
timestamp Long 时间戳,见参数规定中的时间戳
nonce_str String 随机字符串,见参数规定中的随机字符串
后台字段如下:
字段名 类型 说明
secret_key String 商户 API 密钥。可在商户后台中获取。该字段为保密字段,不要发送出来
2)生成签名
将以上字段按照 m_number&timestamp&nonce_str&secret_key方式进行拼接(顺 序一定要正确),之后用 MD5 算法对拼接后的字符串进行摘要,然后转成大写,得到 签名字符串
3)将签名字符串以 sign 为 key,包含在接口字段中,进行访问
举例:
某次访问字段如下:
m_number 123456
timestamp 1482812036067
nonce_str 313644f42ecd4758b5e23b80e86efdc4
secret_key 0af61531c6c04ac4ac910d0cd59e6238
拼接生成的字符串如下:
123456&1482812036067&313644f42ecd4758b5e23b80e86efdc4&0af61531c6c04ac4ac910d0cd59e6238
生成签名方法如下:

C#:

var originString = “123456&1482812036067&313644f42ecd4758b5e23b80e86efdc4&0af61531c6c04ac4ac910 d0cd59e6238”;

var md5 = MD5.Create();

var bs = md5.ComputeHash(Encoding.UTF8.GetBytes(originString));

var sb = new StringBuilder();

foreach (byte b in bs)

{

sb.Append(b.ToString("x2"));

}

//所有字符转为大写

originString = sb.ToString().ToUpper();


PHP:

$originString = ‘123456&1482812036067&313644f42ecd4758b5e23b80e86efdc4&0af61531c6c04ac4ac910 d0cd59e6238’;

$sign = strtoupper(md5($originString));

通过以上方法得到 sign=”516A3B52F9C8897F52239B19CD8A499”,然后将签名也包 含在访问字符串中,得到访问字符串如下
m_number=123456&timestamp=1482812036067&nonce_str=313644f42ecd4758b5e23b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A49
将该字符串用于 API 访问。

接口内容

获取当前汇率

接口说明:
在交易前,可通过该接口获取系统当前的指定两种货币之间的汇率。该汇率一天更新一次。
接口地址
https://www.omipay.com.au/omipay/api/v2/GetExchangeRate
请求参数(除以上安全验证参数之外,以下接口均相同)
字段名 变量名 类型 示例值 描述
货币类型 currency String AUD 符合 ISO 4217 标准的货币代码,返回汇率值为 currency兑换 base_currency 的比值
本币类型 base_currency String CNY
支付平台 platform String WECHATPAY 非必录,默认 WECHATPAY
接口语言 language String EN 非必录,默认 CHS
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS,此字段标识该次访问是否成功。
汇率 rate Decimal 5.01540000 当前汇率
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
CURRENCY_ERROR 货币类型错误,可能是该两种货币类型的汇率无法获取,或是货币类型输入错误。
请求举例
https://www.omipay.com.au/omipay/api/v2/GetExchangeRate? m_number= 123456&timestamp= 1482812036067&nonce_str= 313644f42ecd4758b5e2 3b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&currency=AUD&base_currency=CNY

成功返回数据举例

}

"return_code": "SUCCESS",

"rate": 5.01540000

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

生成二维码订单

接口说明:
二维码订单适合非微信客户端的支付场景使用。客户可通过手机微信扫描该 API 生成的二维码进入微信支付界面进行支付。
接口地址
https://www.omipay.com.au/omipay/api/v2/MakeQROrder
请求参数
字段名 变量名 类型 示例值 描述
订单名称 order_name String 测试商品 简单描述交易的商品或交易信息
货币 currency String AUD 下单货币类型
金额 amount int 100 金额,单位为下单货币的 最 小 货 币 值 。 例 如 currency=AUD, 则 100 表 示 A$1.00。
通知地址 notify_url String 交易成功通知地址
订单编号 out_order_no String 外部订单编号,请确保唯 一性
支付平台 platform String ALIPAY ALIPAY:支付宝 WECHATPAY:微信
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS
订单编号 order_no String 32 位 OmiPay 订单编号
二维码字符串 qrcode String 二维码字符串。商户可 根据此字符串生成二维 码供客户扫描
订单 URL pay_url String 二维码订单展示URL。商 户可引导客户浏览器跳 转至该URL,展示支付二 维码。 * 跳转到该页面时,也 需要加上签名信息,签 名方式和其他 API 调用 的签名方式一致。
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
WEBSTORE_NOT_EXISTS 该商户没有注册网店。商户没有在OmiPay 登记注册网店 会发生该错误。
AMOUNT_INVALID 金额不正确。当金额大于支付平台允许最大单笔交易金 额,或汇率转换后的金额小于支付平台付款最小金额 时,会提示该错误。
请求举例

https://www.omipay.com.au/omipay/api/v2/MakeQROrder? m_number= 123456&timestamp= 1482812036067&nonce_str=313644f42ecd4758b5e2 3b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&order_name= 测 试 商 品 &currency=AUD&amount=100&notify_url=http://your_site.com/receive_notify .html&out_order_no=SEORD000001

额外说明
二维码订单支付流程:
1) 商户在 Web 或 PC 端商城创建支付订单;
2) 调用 OmiPay 的二维码订单接口;
3) 将接口返回的 pay_url 信息生成二维码,并在页面中展示给客户;
4) 客户通过手机微信扫描该二维码,完成支付;
5) 客户支付成功后,系统会异步向 notify_url 发送回调信息;该回调信息会重复发 送最多三次,直到该 notify_url 向服务器收到该Url 的正确返回;
6) 若商户一段时间未收到回调信息,可以主动调用 QueryOrder 方法获取支付状态, 以便进行后续操作。

成功返回数据举例

}

"return_code": "SUCCESS",

"order_no": "bc112874260946a2af2b7107825e6ce2",

"qrcode" : "………………. ",

"pay_url" : "https://www.omipay.com.au/OmiPay/pay/qrpay?paycode=xxxxxxxxx"

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

订单展示页说明:
1) 商户可引导商城页面跳转至该 URL,该页会展示订单信息和支付二维码,客户通 过手机扫描页面上的二维码即可完成支付。支付完成后,浏览器会自动跳转到调 用时传递的跳转地址。
2) 页面跳转至该 URL 时需要传递以下参数,参数传递方式和调用其他 API 的方式一 致(将参数拼接到 URL 中)。
字段名 变量名 类型 示例值 描述
商户号 m_number String
时间戳 timestamp String 1482812036067
随机字符串 noncestring String
签名 sign String
跳转地址 redirect_url String 交易成功跳转地址

生成JSAPI订单

接口说明:
JSAPI 订单适合微信客户端的支付场景使用。商户调用该 API,返回支付 Url,商户 引导客户跳转至该 Url 完成支付。商户只有在微信端商城中才能使用该方式生成订单。
接口地址
https://www.omipay.com.au/omipay/api/v2/MakeJSAPIOrder
请求参数
字段名 变量名 类型 示例值 描述
订单名称 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 外部订单编号,请确保唯 一性
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 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 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
WEBSTORE_NOT_EXISTS 该商户没有注册网店。商户没有在OmiPay 登记注册网店 会发生该错误。
AMOUNT_INVALID 金额不正确。当金额大于支付平台允许最大单笔交易金 额,或汇率转换后的金额小于支付平台付款最小金额 时,会提示该错误。
请求举例

https://www.omipay.com.au/omipay/api/v2/MakeJSAPIOrder? m_number=123456&timestamp=1482812036067&nonce_str=313644f42ecd4758b5e23 b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&order_name= 测 试 商 品 &currency=AUD&amount=100&redirect_url=http://your_site.com/redirect_to. html&amount=100&notify_url=http://your_site.com/receive_notify.html&out _order_no=SEORD000001

成功返回数据举例

}

"return_code": "SUCCESS",

"pay_url" : "………………. ",

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

额外说明:JSAPI 需要设置 redirect_url,客户在完成支付后,浏览器会跳转至 redirect_url 中

生成扫描支付订单

接口说明:
客户通过OmiPay的微信端生成支付二维码,商户通过条码设备扫描该二维码之后,创 建支付订单,完成后续支付。
接口地址
https://www.omipay.com.au/omipay/api/v2/MakeScanOrder
请求参数
字段名 变量名 类型 示例值 描述
订单名称 order_name String 测试商品 简单描述交易的商品或交易信息
货币 currency String AUD 下单货币类型
金额 amount int 100 金额,单位为下单货币的 最 小 货 币 值 。 例 如 currency=AUD, 则 100 表 示 A$1.00。
通知地址 notify_url String 交易成功通知地址
二维码 qrcode String 通过扫描得到的客户端二维码
客户端编码 pos_no String 商户 POS 端编码
订单编号 out_order_no String 外部订单编号,请确保唯 一性
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS
订单编号 order_no String 32 位 OmiPay 订单编号
外 部 订 单号 out_order_no String 商户调用 API 时传入的 商户侧订单编号
支付时间 order_time String 订单支付时间,格式为 yyyyMMddHHmmss
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
订单号 order_no String 若 error_code 为 USERPAYING,则返回该 字段(详见额外说明
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
USERPAYING 用户正在支付。
ORDER_PAID 订单已支付过。
POS_NOT_REGISTERED 商户 POS 端未注册。
NOT_ENOUGH 用户余额不足。
CARD_NOT_SUPPORT 不支持卡类型。
ORDER_CLOSED 订单已关闭。
QRCODE_EXPIRED 二维码已超时。
QRCODE_ERROR 二维码错误。
AMOUNT_INVALID 金额不正确。当金额大于支付平台允许最大单笔交易金 额,或汇率转换后的金额小于支付平台付款最小金额 时,会提示该错误。
请求举例

https://www.omipay.com.au/omipay/api/v2/MakeScanOrder? m_number=123456&timestamp=1482812036067&nonce_str=313644f42ecd4758b5e23 b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&order_name= 测 试 商 品 &currency=AUD&amount=100&notify_url=http://your_site.com/receive_notify. html&qrcode=123abc123&pos_no=posno_123&out_order_no=SEORD000001

额外说明
扫码支付流程如下:
1) 商户在 POS 系统中创建订单并向客户展示订单金额;
2) 客户向商户展示付款二维码;
3) 商户通过 POS 设备扫描二维码后,将扫描订单信息提交到 OmiPay;
4) OmiPay 进行支付后台处理。同时商户端等待 OmiPay 的处理结果;
5) 若 OmiPay 返回支付成功信息,支付流程结束;若返回失败信息且错误码不 是”USERPAYING”,则商户端做相应失败处理;否则进入步骤(6。
6) 若错误码是”USERPAYING”,表示客户需要输入支付密码。(是否需要输入支付密, 码根据微信支付密码验证规则而定)若客户需要支付密码,则商户端需等待,在 客户输入密码并支付成功后,OmiPay 会向商户提交的 notify_url 发送成功消 息,商户可根据该返回消息判断订单状态;或是在收到 OmiPay 返回后,等待 5 秒钟,用 QueryOrder 方法查询订单状态。

查询订单状态

接口说明:
商户生成订单之后,可以根据 OmiPay 返回的订单编号查询订单状态。
接口地址
https://www.omipay.com.au/omipay/api/v2/QueryOrder
请求参数
字段名 变量名 类型 示例值 描述
订单编号 order_no String OmiPay 返回的订单编号
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS
订单状态 result_code String PAID 订单状态
外部订单号 out_order_no String 下单时传递的外部订单号
货币 currency String AUD 订单支付货币编码
金额 amount int 100 金额,单位为下单货币 的最小货币值。例如 currency=AUD,则 100 表示 A$1.00
支付货币 pay_currency String CNY 客户实际支付货币编码
支付金额 pay_amount int 561 支付金额,单位为支付 货币的最小货币值。例 如 pay_currency=CNY, 则 100 表示人民币 1 元
订 单 创 建 时间 order_time String 订单创建时间,格式为yyyyMMddHHmmss
订 单 支 付 时间 pay_time String 订单支付时间,格式为 yyyyMMddHHmmss;若订 单未实际支付,返回空 字符串
汇率 exchange_rate int 下单货币兑支付货币汇 率,实际汇率的10^8倍
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
PERMISSION_ERROR 权限错误,当查询的订单号不属于该商户时发生。
请求举例

https://www.omipay.com.au/omipay/api/v2/QueryOrder? m_number= 123456&timestamp= 1482812036067&nonce_str= 313644f42ecd4758b5e2 3b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&order_no=bc112874260 946a2af2b7107825e6ce2

额外说明
二维码订单支付流程:
1) 商户在 Web 或 PC 端商城创建支付订单;
2) 调用 OmiPay 的二维码订单接口;
3) 将接口返回的 pay_url 信息生成二维码,并在页面中展示给客户;
4) 客户通过手机微信扫描该二维码,完成支付;
5) 客户支付成功后,系统会异步向 notify_url 发送回调信息;该回调信息会重复发 送最多三次,直到该 notify_url 向服务器
6) 若商户一段时间未收到回调信息,可以主动调用 QueryOrder 方法获取支付状态, 以便进行后续操作。

成功返回数据举例

}

"return_code": "SUCCESS",

"result_code": "PAID",

"currency" : "AUD",

"amount" : 100

"pay_currency": "CNY",

"pay_amount": 561,

"order_time" : "20161227105530",

"pay_time" : "20161227105602"

"exchange_rate" : "650000000"

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

订单状态列表:
状态 说明
READY 已创建订单,尚未支付
PAYING 用户正在支付中
PAID 用户已支付
CLOSED 订单已关闭(已完成结算)
CANCELLED 订单已取消
FAILED 订单支付失败

推送付款消息

接口说明:
商户在创建订单时,若附上了 notify_url 参数,则在订单支付成功后会向该 Url 发 送 Http 请求,主动推送支付成功的消息。该请求会重复推送三次,若三次未收到该 Url 的正确返回,之后不再推送。若收到正确返回,也不会继续推送。该请求规则如 下:
字符编码 UTF8
Http Header Content-Type=application/json
参数传递方式 数据会以 json 的方式写入请求的 body 中
返回类型 application/json
推送消息参数
字段名 变量名 类型 示例值 描述
随机字符串 nonce_str String 随机字符串
时间戳 timestamp Long 时间戳
签名 sign String 签名字符串
订单编号 order_no String OmiPay 订单编号
外部订单号 out_order_no String 外部订单号
货币 currency String AUD 订单支付货币编码
金额 amount int 100 金额,单位为下单货币的 最 小 货 币 值 。 例 如 currency=AUD,则 100 表 示 A$1.00
支付货币 pay_currency String CNY 客户实际支付货币编码
支付金额 pay_amount int 561 支付金额,单位为支付货 币的最小货币值。例如 pay_currency=CNY , 则 100 表示人民币 1 元
订单创建时间 order_time String 订单创建时间,格式为yyyyMMddHHmmss
订单支付时间 pay_time String 订单支付时间,格式为 yyyyMMddHHmmss;若订单 未实际支付,返回空字符 串
汇率 exchange_rate int 下单货币兑支付货币汇 率,实际汇率的 10^8 倍
说明:推送消息会做签名验证,验证逻辑和以上方法一致。商户接收到推送消息后, 也应该进行同样逻辑验证签名的正确性,以保证不被第三方攻击。
商户应返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS

商户退款申请

接口说明:
商户可调用此接口进行退款申请。
接口地址
https://www.omipay.com.au/omipay/api/v2/Refund
请求参数
字段名 变量名 类型 示例值 描述
订单编号 order_no String 要退款的 OmiPay 订单编号
外部退款单号 out_refund_no String 外部退款单号
退款金额 amount int 100 金额,货币是订单的下单 货币,单位为订单下单货 币的最小货币值。以下单 时的汇率转换成OmiPay结 算币种(AUD)金额,该 金额不能小于币种最小金 额(A$0.01)
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS
退款单号 refund_no String OmiPay 退款单号
货币 currency String AUD 退款货币编码
金额 amount int 100 金额,单位为退款货币 的最小货币值。例如 currency=AUD,则 100 表示 A$1.00
退款时间 refund_time String 退 款 时 间 , 格 式 为 yyyyMMddHHmmss
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
PERMISSION_ERROR 权限错误,当退款的订单号不属于该商户时发生。
ORDER_NO_ERROR 订单编号错误,当订单不存在时发生。
ORDER_NOT_PAID 订单未支付。
AMOUNT_OVER_LIMIT 金额超过退款上限。
请求举例

https://www.omipay.com.au/omipay/api/v2/Refund? m_number= 123456&timestamp= 1482812036067&nonce_str= 313644f42ecd4758b5e2 3b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&order_no=bc112874260 946a2af2b7107825e6ce2&out_refund_no=xxxxxxx&amount=100

成功返回数据举例

}

"return_code": "SUCCESS",

"refund_no": "ADDFGHJKL",

"currency" : "AUD",

"amount" : 100,

"refund_time" : "20161227105530"

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

额外说明
二维码订单支付流程:
1) 基于订单退款。每个退款单必须有对应的订单。
2) 一个订单可以分为多次退款。退款总金额不能大于订单总金额。
3) 退款申请成功代表向对应支付平台成功发送退款请求,不代表实际退款成功。一 般原路退回的款项需要走银行处理流程,实际到款时间不定。申请成功也可能退 款失败,例如客户银行账号冻结、信用卡错误等均可导致实际退款失败。商户之 后可通过 QueryRefund 查询实际退款状态。

查询退款状态

接口说明:
商户申请退款成功之后,可以根据 OmiPay 返回的退款单号查询退款状态。
接口地址
https://www.omipay.com.au/omipay/api/v2/QueryRefund
请求参数
字段名 变量名 类型 示例值 描述
退款单编号 refund_no String OmiPay 返回的退款单编号
成功返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String SUCCESS 成功时返回 SUCCESS
退款单状态 result_code String CLOSED 退款单状态
外 部 退 款 单号 out_refund_no String 下单时传递的外部退款单号
货币 currency String AUD 退款货币编码
金额 amount int 100 金额,单位为退款货币 的最小货币值。例如 currency=AUD,则 100 表示 A$1.00
退 款 单 创 建时间 refund_time String 退款单创建时间,格式 为 yyyyMMddHHmmss
实 际 到 账 时间 success_time String 实际到账时间,格式为 yyyyMMddHHmmss;若退 款单状态不为 CLOSED, 返回空字符串
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
错误码列表
错误码 说明
PARAMETER_INVALID 参数不正确,可能是参数缺失或参数类型不正确所致。
SIGN_TIMEOUT 时间戳超时。
MERCHANTNO_INVALID 商户编号错误,请从商户后台检查对应商户编号。
SIGN_ERROR 签名验证失败,请检查签名是否正确。
SYSTEM_ERROR 服务器错误。
PERMISSION_ERROR 权限错误,当查询的退款单号不属于该商户时发生。
REFUND_NO_ERROR 退款单号错误。
请求举例

https://www.omipay.com.au/omipay/api/v2/QueryRefund? m_number= 123456&timestamp= 1482812036067&nonce_str= 313644f42ecd4758b5e2 3b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&refund_no=bc11287426 0946a2af2b7107825e6ce2

成功返回数据举例

}

"return_code": "SUCCESS",

"result_code": "CLOSED",

"currency" : "AUD",

"amount" : 100,

"refund_time" : "20161227105530",

"success_time" : "20161227105602",

}


失败返回数据举例

}

"return_code": "FAIL",

"rate": "SIGN_TIMEOUT"

"error_msg": "时间戳超时"

}

退款单状态列表:
状态 说明
Applied 客户已提交退款申请
MerchantConfirmed 商户同意退款并已发送申请至支付机构
OrganizationConfirmed 支付机构已确认退款申请
OrganizationPayback 支付机构已退款
Closed 流程关闭,已核账
MerchantRejected 商户拒绝退款
TimeoutClosed 超过退款时效关闭
OrganizationFailed 支付机构失败
CustomerCancelled 客户取消退款

微信客户端登录

接口说明:
对于没有公众号的微商城商户,OmiPay 提供了微信客户端登录的接口,方便商户做用户登录。
接口地址
https://www.omipay.com.au/omipay/api/auth/GetUserInfo
请求参数
字段名 变量名 类型 示例值 描述
回调地址 redirect_uri String 测试商品 获取用户信息后回调的 Uri,该 Uri 地址必须位 于商户在 omipay 注册的 微商城门店路径之下
成功返回结果
字段名 变量名 类型 示例值 描述
OpenID openid String 用户的 OpenID
用户昵称 nickname String 用户昵称
用户头像 headimgurl String 用户头像的 Url 地址
失败返回结果
字段名 变量名 类型 示例值 描述
状态码 return_code String FAIL 失败时返回 FAIL
错误码 error_code String SYSTEM_ERROR 错误的编码
错误信息 error_msg String 服务器错误 错误的描述
请求举例

https://www.omipay.com.au/omipay/api/auth/GetUserInfo? m_number= 123456&timestamp= 1482812036067&nonce_str= 313644f42ecd4758b5e23 b80e86efdc4&sign=8516A3B52F9C8897F52239B19CD8A499&redirect_uri=http://yours ite.com/redirect.html