×




创建QRCode支付单     - QRCode支付转跳 创建银联/支付宝Web订单 创建JSAPI支付单     - 微信JSAPI支付跳转页     - 支付宝JSAPI支付跳转页 创建Native JSAPI支付单 创建H5支付单     - H5支付跳转页 创建SDK订单 创建小程序订单 创建线下支付订单 创建线下QR CODE支付订单 获取当前汇率 查询订单状态 申请退款 查询退款状态 查看账单 查看账单流水 查看清算详情 暂停清算 恢复清算

文档说明



接入前准备


  • 商户在开始技术集成前,需要先跟AlphaPay签订相关产品的合同。如需帮助,请联系AlphaPay商务团队.
  • 商户获得测试账户的商户编码与商户密钥
  • APP或者小程序接入需提供APPID给AlphaPay进行绑定才能成功接入微信支付
  • 选择当前交易货币: 加元     美元


适用于支付场景









渠道区分


根据调用接口不同分为线上和线下两个渠道,两个渠道分别使用不同的汇率和手续费费率,为避免混淆在此区分:
  • 线上渠道:包含QR CODE、Web、JSAPI、H5、APP SDK、MiniProgram 六种支付方式
  • 线下渠道:包含Retail Pay 支付方式
相似接口区别:
  • JSAPI和H5 Mobile:JSAPI只能在微信、支付宝客户端内访问的页面调起支付,H5可以在移动设备任意浏览器或App的WebView调起支付
  • Web支付和QR Code: Web支付会跳转到支付宝官方收银台,用户可以选择登陆账号或用客户端扫码完成支付;QR Code方式商户可以自行展示创建的二维码,也可以跳转到AlphaPay展示的收银台页面显示二维码,用户只能用支付宝客户端扫码完成支付。


适用货币

AlphaPay接受人民币和加元两个币种的支付订单
  • CAD:加元
  • CNY:人民币


业务规则

  • QRCode支付是在网页上展示二维码,用户使用微信扫一扫扫码后直接进入微信支付页面,适用于商城类web网站;
  • JSAPI支付是在微信浏览器内直接跳转到AlphaPay让用户选择支付订单,页面只能在微信客户端打开,适用于微店;
  • 创建订单时需要提供订单号,同一个订单不允许重复提交,系统会自动根据订单状态判断是否创建新订单并关闭旧订单。因此商户端应该同一个订单只用一个单号,避免重复付款;
  • 由于存在自动创建新订单机制,创建订单后返回的AlphaPay单号不代表最终支付的单号;
  • QRCode支付订单创建后会直接返回QRCode和pay_url,商户可以自行选择展示支付二维码或跳转至AlphaPay支付页;
  • JSAPI支付订单创建后会返回pay_url,商户应该跳转到这个地址让用户完成支付;
  • 跳转pay_url时必须加上签名信息;
  • 每次请求都应该使用新生成的签名;
  • 订单成功支付后会调用订单中提供的notify_url,详情可以查看API定义;若创建订单时未提供,商户需要在创建订单后轮询订单状态接口,直到订单被支付或过期;
  • 订单支付有效期为5分钟,超时可以用相同的订单号重新发起请求,建议在重新打开支付页的时候重新发起请求。订单有效时间可以在后台进行修改;
  • 使用跳转支付页前应该先调用后台服务输入金额等参数创建订单后再跳转;
  • 创建订单、创建退款接口都允许同订单号重复调用,但是具体参数以初次请求的参数为准;
  • 所有和金额相关的数字均以货币最小面值为单位,以CAD为例,100表示CAD 1.00。




















API Endpoint


https://pay.alphapay.ca/api/v1.0

请求参数说明



支付单和退款单提交均为PUT方式,订单查询均为GET方式;包含Request Entity的请求参数格式为json
除跳转页面外,所有的Accept均为application/json,所有的PUT/POST请求Content-Type为application/json。
系统使用UTF-8字符集。

参数分为三种:Path Variable/Query Param/JSON entity
  • Path Variable: 包含在URI内的参数
  • Query Param: 在URI末尾?后的key=value形式的参数
  • JSON entity: 只在PUT/POST请求中使用

所有返回JSON的API,成功访问返回状态值均为200(不论执行结果)。
JSON固定包含字段return_code
  • 若值为SUCCESS则表示执行成功。
  • 其他值表示执行失败,此时可查询错误码了解对应的错误类型,此时还会携带return_msg字段作为错误描述信息。


安全传输层协议

仅支持TLS 1.2。

多语言支持


系统错误提示支持中文、英文两种语言,默认根据Request Header中的Accept-Language值自动选择,如需调整亦可以添加locale cookie进行指定。






签名算法



每次请求都必须加入签名信息作为请求校验。校验参数全部以Query Param参数的方式附加在URL后面,顺序不分先后。


签名过程:

  1. 连接生成签名的原始字符串,需要4个参数,使用 & 连接,无需转码
    valid_string = partner_code&time&nonce_str&credential_code
    参数说明
    • partner_code: 商户编码,由4位或6位大写字母或数字构成
    • time: UTC毫秒时间戳,取当前UTC时间的毫秒数时间戳,Long类型,5分钟内有效
    • nonce_str: 随机字符串(支持数字和字母),无长度限制,请使用URL安全字符(避开&,=等符号),请注意HTTP URL的最大长度限制,建议长度在10到30位
    • credential_code: 系统为商户分配的开发校验码,请妥善保管,不要在公开场合泄露

  2. 使用SHA256进行签名,并转为Hex小写字符串
  3. sign=hex(sha256(valid_string)).toLowerCase()
  4. 在请求中把签名使用的time, nonce_str和生成的sign一同作为Query Param参数发送
  5. time=1468691301081
    nonce_str=123
    sign=64712672795f94fa3bfb2e88ac09cb75d09bcf8a3c3dcaa529d8290dd6587060





支付成功回调



若订单创建时提供了notify_url,系统会在用户支付成功后向这个地址主动发送支付成功状态推送。推送校验参数会包含在json内,商户系统应该验证校验参数,确定来源正确后再进行后续操作。推送动作最多会重试3次,商户系统应当能够处理收到的重复请求。




返回JSON

字段 类型 描述
time Long UTC时间戳
nonce_str String 随机字符串
sign String 签名, 使用time和nonce_str获得sign, 且验证是否与此sign一致
partner_order_id String 商户订单ID
order_id String AlphaPay 订单ID
total_fee String 订单金额,单位是最小货币单位
real_fee String 支付金额,单位是最小货币单位
rate Double 交易时使用的汇率,1CAD=?CNY
currency String 币种
channel String 支付渠道 Alipay、Wechat、UnionPay
create_time String 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,加拿大西部时间)
pay_time String 订单支付时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,加拿大西部时间)


双重保障检验订单支付成功


  1. 被动:当客人支付成功,支付服务器会推送支付成功数据给商户服务器
  2. 主动查询:在跳转界面通过 查询订单状态接口 来获得订单状态
    • 订单需查询数次以防数据未更新




















QR Code - 创建QR Code支付单



QR Code支付单适用于PC端网页/手机浏览器进行支付。电脑会自动生成一个带有消费金额的二维码,消费者使用微信客户端, 支付宝客户端或银联云闪付客户端扫描二维码后输入支付密码即可支付成功。


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}


接入流程






返回值包括二维码字符串,二维码图片,支付地址,商户可以自行决定直接展示二维码或跳转支付页,跳转支付页需要带上签名信息(详见签名算法) 货币类型如果是CNY,注意通过汇率转换后不得低于0.01CAD,否则订单可以创建成功,但支付时会报金额不合法错误。



Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
channel String 支付渠道,大小写敏感
允许值: Alipay , Wechat , UnionPay
notify_url String 支付通知url,详见支付成功回调
operator String 操作人员标识,用于商户系统识别操作人员


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
code_url String 支付码字符串,商户可以据此自行生产二维码
partner_name String 商户名称
channel String 支付渠道
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝、银联云闪付订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
pay_url String 跳转URL,需加上必要参数才能点击进行支付
qrcode_img String Base64封装的二维码图片,可直接作为img的src属性


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述


两种方式显示二维码进行支付


  1. 在商户页面生成二维码支付,使用
    • qrcode_img: Base64封装的二维码图片,可直接作为img的src属性
    • code_url: 支付码字符串,商户可以据此自行生产二维码
  2. 跳转至AlphaPay支付界面,需加上参数才能点击进行支付,详见QR Code支付跳转页













发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200303133408?time=1583271769776&nonce_str=123&sign=2456084a967ca84b0e3d9a4e26d99ddc2ef040ac3b611e9a3349ed2d24da1ac7


























































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "channel""Wechat",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01"
}






















返回数据示例


{
      "partner_order_id""ZZZ620200303133408",
      "full_name""Hello Alpha Pay",
      "code_url""https://pay.alphapay.ca/api/v1.0/payment/partners/ZZZ6/orders/0240520200303134355902940/retail_pay",
      "partner_name""Hello Alpha Pay",
      "channel""Wechat",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""0240520200303134355902940",
      "return_code""SUCCESS",
      "pay_url""https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200303133408/pay",
      "qrcode_img""data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrPYAAACKElEQVR42u2aS27tIBBE2yMvwzu1zU5ZQoaM4HVVQZT4OtKb0sKyLGzOHaQp+kes/c/1ZQtb2MIWtrAIWDVc595uO6rfe0stn3vG1z0WhnG+iuFuPnvQDPnqU5GwbLt/zKcdifxW3BT+CitFxKAB2gQaaC0uVo6E1T9uNwXFEBGTpPFdz42/fd8LU2PdceXH/Yd/mxjT5RbYCrS9QeQd+IxZU2MegO6d/opey7SXX5Z+fowBN2nQx77BMU4tFNYYfU4svQYOQOHnQ+QBMEYfOmrI+2p9O1/MMUJhpf/tXGvfztjRzDRc/KGw2hWuHU0P5ljxVBmvkbCGzQs7MPqAacMUv+w2PyaDyE3Voe1UFIhDYap3vAqgHbLS45upssXCqg23DM/ck+TE+1Gwz451OyASjYA7xFD3aJjkzUKgZ4/QfDmCYVVVAJ8S9s1XhadomDLkvu7IkwVvLRjGLTyaaefIqU57LP30WGMzrYchNmHYQkSKZbEwNWE2TqWeMSqzOmowDEEWX5QuVqVV9M+pBcNU2SHBSGqTDhN9JBiTYyP6aKEZedleK89O4/yYvLGqOZqiHPd3URAI6401Y09Y3f43kQfA1Cz1qY0i5xMe+6Mymh/70QCn4+IPh+ZjYdy/nOURlZqKZvYSs0JgI/+HBkwHOm8GmR5T6ztRACxm4bvezrOmxngAR0d9FRWwvQ9jwbBxUKUe6Uga1SsOha1/cVnYwha2sPjYP8qU4+heQswIAAAAAElFTkSuQmCC"
}





QR Code - 创建QR Code支付跳转页


必须先调用创建QR Code订单接口再进行跳转。建议在用户回调到对应页时通过后台查询订单状态接口确认订单的支付状态。

GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}/pay


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求已预先创建


Query Params

字段 类型 描述
redirect String 必填,支付成功后跳转页面,详见支付成功回调
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名 (需生成一个新的sign)


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述









发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200303140443/pay?redirect=http%3A%2F%2Flocalhost%2FAlphaPay_PHP%2Fexample%2Fsuccess.php%3Forder_id%3DZZZ620200303140443&time=1583273083823&nonce_str=b4toxf372pt8rqaguwkbyg8wcixy4s&sign=cb4d424cac22f15232836c730cf422222d8e8e974bb9c7b77acea3243f2056a3



Alipay/UnionPay Online Payment - 创建银联/支付宝Web订单


用于PC端支付宝支付,创建订单后跳转到返回的pay_url(需附加签名参数和redirect参数),随后进入银联/支付宝支付页面完成支付,该接口仅现仅支持银联和支付宝。


PUT
 https://pay.alphapay.ca/api/v1.0/web_gateway/partners/{partner_code}/orders/{order_id}


接入流程







Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
channel String 支付渠道,大小写敏感
允许值: Alipay, UnionPay
notify_url String 支付通知url,详见支付成功回调
operator String 操作人员标识,用于商户系统识别操作人员


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名 (需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
pay_url String 跳转URL,需加上必要参数才能点击进行支付


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述








发送请求示例


https://pay.alphapay.ca/api/v1.0/web_gateway/partners/ZZZ6/orders/ZZZ620200303133409?time=1583273723299&nonce_str=123&sign=c3884addcc5a1615e8c9c1181f74b5793aef8de19385726918a54c2c3b0b051c

























































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "channel""Alipay",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01"
}





















返回数据示例


{
      "partner_order_id""ZZZ620200303133409",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""AlipayOnline",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""0240520200303141625039278",
      "return_code""SUCCESS",
      "pay_url""https://pay.alphapay.ca/api/v1.0/alipay/partners/ZZZ6/orders/ZZZ620200303133409/web_pay"
}




跳转至支付宝进行支付


https://pay.alphapay.ca/api/v1.0/alipay/partners/ZZZ6/orders/ZZZ620200303133409/web_pay?time=1535761172065&nonce_str=apcp0dumiamxhxlolv22bke2587dp8&sign=124d2ba7eca94c8adedad84aa3dd892f3558d1aa310bf702945700ecbfe54dfb


跳转至银联进行支付


https://pay.alphapay.ca/api/v1.0/web_gateway/partners/ZZZ6/orders/ZZZ620200424133655/pay?time=1587778141636&nonce_str=123&sign=85518b7c1288e967b80a7b81f53ad4ed7691ec86a47ae8f5a7a4b5f4eeea1010




JSAPI - 创建JSAPI订单


JSAPI适用于在微信APP或者支付宝APP内打开的网页进行支付,如果用户从公众号进入支付页要求公众号已完成认证。用户下单后跳转至AlphaPay订单页,并拉起微信或者支付宝内置收银台完成支付。


PUT
 https://pay.alphapay.ca/api/v1.0/jsapi_gateway/partners/{partner_code}/orders/{order_id}

接入流程






返回值包括支付地址,商户应该引导用户跳转支付页,跳转支付页需要带上签名信息; 货币类型如果是CNY,注意通过汇率转换后不得低于0.01CAD,否则订单可以创建成功,但支付时会报金额不合法错误。


Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
channel String 支付渠道,大小写敏感
允许值: Alipay , Wechat
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
operator String 操作人员标识,用于商户系统识别操作人员


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名 (需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
pay_url String 跳转URL,需加上必要参数才能点击进行支付


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述


进行支付


pay_url需加上参数才能点击进行支付,详见微信JSAPI支付跳转页 或者 支付宝JSAPI支付跳转页












发送请求示例


https://pay.alphapay.ca/api/v1.0/jsapi_gateway/partners/ZZZ6/orders/ZZZ620200303133410?time=1583274791491&nonce_str=123&sign=b3aad28aafc0ba0e4723457df54fc6b9b6ee7a4800a4eaaa7a49fa9a043b5b15


























































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "channel""Wechat",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01"
}





















返回数据示例


{
      "partner_order_id""ZZZ620200303133410",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""Wechat",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303143358581-SRA6NDCRH",
      "return_code""SUCCESS",
      "pay_url""https://pay.alphapay.ca/api/v1.0/wechat_jsapi_gateway/partners/ZZZ6_order_ZZZ620200303133410"
}


JSAPI - 微信JSAPI支付跳转页


必须先调用创建JSAPI订单接口再进行跳转,最终URL以下单api返回的pay_url为准。建议在用户回调到对应页时通过后台查询订单状态接口确认订单的支付状态。


GET
 https://pay.alphapay.ca/api/v1.0/wechat_jsapi_gateway/partners/{partner_code}_order_{order_id}

Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求已预先创建


Query Params

字段 类型 描述
redirect String 必填,跳转页面 (无论用户是否支付成功,都会跳转到此页面,需要在跳转页面查询订单状态)
directpay Boolean 是否直接支付
默认值: false
允许值: true , false
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填, 签名(需生成一个新的sign)


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述







发送请求示例


https://pay.alphapay.ca/api/v1.0/wechat_jsapi_gateway/partners/ZZZ6_order_ZZZ620200303133410?redirect=https://www.alphapay.com/success&directpay=true&time=1535759759798&nonce_str=d4e11lnh9u13gyapjkfieq9l46ak4r&sign=d976fd4bfed4d28e96b6c8600507229f666943adc5122937a0f762d3e38b3a7f



JSAPI - 支付宝JSAPI支付跳转页


必须先调用创建JSAPI订单接口再进行跳转,最终URL以下单api返回的pay_url为准。建议在用户回调到对应页时通过后台 查询订单状态接口 确认订单的支付状态。


GET  https://pay.alphapay.ca/api/v1.0/gateway/alipay/partners/{partner_code}/orders/{order_id}/app_pay


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求已预先创建


Query Params

字段 类型 描述
redirect String 必填,跳转页面 (无论用户是否支付成功,都会跳转到此页面,需要在跳转页面查询订单状态 )
directpay Boolean 是否直接支付
默认值: false
允许值: true , false
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名 (需生成一个新的sign)


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述








发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/alipay/partners/ZZZ6/orders/ZZZ620200303133410/app_pay?redirect=https://www.alphapay.com/success&directpay=true&time=1535759759798&nonce_str=d4e11lnh9u13gyapjkfieq9l46ak4r&sign=d976fd4bfed4d28e96b6c8600507229f666943adc5122937a0f762d3e38b3a7f




JSAPI - 创建Native JSAPI订单


使用Native JSAPI需要完成主体认证,并需要通过AlphaPay完成appid绑定。使用Native JSAPI能够直接返回拉起JSAPI的参数。通过AlphaPay平台创建订单,即可直接通过官方的JS SDK拉起支付。微信接入文档   支付宝接入文档


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/native_jsapi/{order_id}

接入流程






货币类型如果是CNY,注意通过汇率转换后不得低于0.01CAD,否则订单可以创建成功,但支付时会报金额不合法错误。


Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
operator String 操作人员标识,用于商户系统识别操作人员
channel String 支付渠道,大小写敏感
允许值: Alipay , Wechat
appid String 公众号appid(支付宝无需填入)
customer_id String 必填,公众号OpenId/支付宝用户UserId
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名 (需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
sdk_params String Native JSAPI支付所需参数(Json字符串)
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
pay_url String 跳转URL,需加上必要参数才能点击进行支付


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述












发送请求示例

https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/native_jsapi/ZZZ620200303133415?time=1583281314142&nonce_str=123&sign=3ab9c318b4d97811d95e542c2cb694c02e738ea3b9ff62a380857c8b43e62cec























































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "operator""dev01",
      "channel""Alipay",
      "customer_id""2080000000000001",
      "notify_url""www.alphapay.com/success.php"
}


























返回数据示例


{
      "partner_order_id""ZZZ620200303133415",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""Alipay",
      "trade_no""2020030422001437070535581524",
      "sdk_params"
        {
          "trade_no""2020030422001437070535581524"
        },
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303162209092-MO10OORNM",
      "return_code""SUCCESS",
      "pay_url""https://pay.alphapay.ca/api/v1.0/gateway/alipay/partners/ZZZ6/orders/ZZZ620200303133415/app_pay"
}


支付宝交易号唤起支付


<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script>

<button id="btn-pay" class="btn btn-default">Pay</button>
<script>
  var btn = document.querySelector('#btn-pay');
  btn.addEventListener('click'function(){
    ap.tradePay({
      tradeNO'2020030422001437070535581524'
    }, function(res){
      ap.alert(res.resultCode);
    });
  });
</script>




Mobile H5 - 创建H5支付单


注意:微信支付暂时不支持H5支付
H5支付适用场景为移动端App或者手机自带浏览器进行支付,用户下单后浏览器跳转至银联/支付宝支付页面并自动拉起银联/支付宝客户端完成支付。


PUT
 https://pay.alphapay.ca/api/v1.0/h5_payment/partners/{partner_code}/orders/{order_id}


接入流程




返回值包括跳转支付地址,跳转支付页需要带上签名信息。 货币类型如果是CNY,注意通过汇率转换后不得低于0.01CAD,否则订单可以创建成功,但支付时会报金额不合法错误。



Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
channel String 支付渠道,大小写敏感
允许值: Alipay , UnionPay
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
operator String 操作人员标识,用于商户系统识别操作人员


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
pay_url String 跳转URL,需加上必要参数才能点击进行支付


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写
SECONDARY_MERCHANT_ID_INVALID 请联系AlphaPay


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述


进行支付

pay_url需加上参数才能点击进行支付,详见 支付宝H5支付跳转页











发送请求示例


https://pay.alphapay.ca/api/v1.0/h5_payment/partners/ZZZ6/orders/ZZZ620200303170626?time=1583284025740&nonce_str=123&sign=b40baec1a61284c5cb5c2e680109931d4589d9a9e26b56ad4ab325a4cc3e9417





















































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "channel""Alipay",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01"
}






















返回数据示例


{
      "partner_order_id""ZZZ620200303170626",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""Wechat",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303170716961-3VEYBVEFN",
      "return_code""SUCCESS",
      "pay_url""https://pay.alphapay.ca/api/v1.0/h5_payment/partners/ZZZ6/orders/ZZZ620200303170626/pay"
}




Mobile H5 - H5支付跳转页


必须先调用创建H5支付订单再进行跳转,最终URL以下单api返回的pay_url为准。建议在用户回调到对应页时通过后台 查询订单状态接口 确认订单的支付状态。


GET
 https://pay.alphapay.ca/api/v1.0/h5_payment/partners/{partner_code}/orders/{order_id}/pay


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求已预先创建


Query Params

字段 类型 描述
redirect String 必填,跳转页面 (无论用户是否支付成功,都会跳转到此页面,需要在跳转页面查询订单状态)
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述








发送请求示例


https://pay.alphapay.ca/api/v1.0/h5_payment/partners/ZZZ6/orders/ZZZ620200303170626/pay?redirect=https://www.alphapay.com/success&time=1535759759798&nonce_str=d4e11lnh9u13gyapjkfieq9l46ak4r&sign=d976fd4bfed4d28e96b6c8600507229f666943adc5122937a0f762d3e38b3a7f




SDK Payment - 创建SDK订单


用于移动端APP调用微信/支付宝/银联SDK支付,调用API创建订单,得到微信/支付宝/银联SDK调用参数,将参数传递给SDK拉起微信/支付宝/银联支付,并由微信/支付宝/银联客户端直接返回支付结果。 强烈建议获得支付结果后再调用AlphaPay订单查询API确认完成支付后再进行后续流程,避免因超时自动撤单导致资金损失。


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/app_orders/{order_id}


接入流程






Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
channel String 支付渠道,大小写敏感
允许值: Alipay , Wechat , UnionPay
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
operator String 操作人员标识,用于商户系统识别操作人员
system String 客户端操作系统类型
允许值: android , iphone , ipad
version String 客户端版本号
appid String 微信 appid,微信通道要求必填


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
sdk_params String 调用SDK的参数字符串
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述


进行支付

获得sdk_params之后,将参数传递给SDK拉起微信/支付宝支付,并由微信/支付宝客户端直接返回支付结果。 关于客户端和支付宝整合的更多信息:支付宝SDK文档支付宝官方实例代码

关于客户端和微信支付整合的更多信息:微信支付SDK文档,微信官方实例代码

点击下载银联sdk,demo和使用指南:Android, IOS, 把获得的sdk_params作为tn(交易码)传入UPPayAssistEx.startPay (activity, null, null, tn, serverMode)拉起支付。











发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/app_orders/ZZZ620200304093950?time=1583344193469&nonce_str=123&sign=f36dd43876f0af89561f97d0faa2bffc813e580050345ace9a52c6de8fa2976a



















































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "channel""Alipay",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01",
      "system""android",
      "version""1.0",
      "appid""wx0000000000000001"
}

























支付宝返回数据示例


{
      "partner_order_id""ZZZ620200304093950",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""AlipayOnline",
      "sdk_params"
        {
          "service""mobile.securitypay.pay",
          "partner""0000000000000001",
          "_input_charset""utf-8",
          "product_code""NEW_WAP_OVERSEAS_SELLER",
          "notify_url""https://pay.alphapay.ca/api/v1.0/alipay/online_orders/0468220191017154622994962/notify",
          "system""android",
          "version""1.0",
          "out_trade_no""0468220191017154622994962",
          "subject""AlipaySDKTest20191017164721",
          "payment_type""1",
          "seller_id""0000000000000001",
          "currency""CAD",
          "total_fee"0.01,
          "body""AlipaySDKTest",
          "forex_biz""FP",
          "it_b_pay""2019-10-19 07:51:22",
          "secondary_merchant_id""ZZZ6",
          "secondary_merchant_name""AlphaPayTest",
          "secondary_merchant_industry""0001",
          "sign""JoErm4POMsuSLWZd5Dw%2FZmtfGzIlZX8E0w%2BPtgDJRZP3WVF5O2L5asGOkvYwb76zYhIvJgazbS0XxLGNFm%2Frrm7TPWhXrFYRSeKrFTsC%2B30Yqj0DSKVAkqwwUGZrHu9vS7QCoEQjLIqFrTzjy60eISKoFDxAVyO4bDS9czFyJlE%3D",
          "sign_type""RSA"
        },
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303162209092-MO10OORNM",
      "return_code""SUCCESS"
}


银联返回数据示例


{
      "partner_order_id""ZZZ620200304093950",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""UnionPayOnline",
      "sdk_params""508581337784100197011",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303162209092-MO10OORNM",
      "return_code""SUCCESS"
}




Miniprogram Payment - 创建小程序订单


接入微信小程序需完成海外主体认证,并且认证主体需要与在AlphaPay开通的商户主体一致。具体如何认证请查看微信公众平台相关文档。 支付宝小程序直接接入即可。用于小程序中发起支付,创建订单后返回小程序支付所需参数,该接口支持微信、支付宝小程序。
微信小程序接入参考文档
支付宝小程序接入参考文档


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/microapp_orders/{order_id}


接入流程





Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
operator String 操作人员标识,用于商户系统识别操作人员
channel String 支付渠道,大小写敏感。允许值:"Alipay"、"Wechat"。
appid String 小程序 appid
customer_id String 小程序 openid


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
partner_name String 商户名称
channel String 支付渠道
sdk_params String 小程序支付所需参数(Json字符串)
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述


进行支付

获得Sdk_params之后,使用参数接入微信小程序的支付,具体接入可参考 接入文档














发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/microapp_orders/ZZZ620200304144418?time=1583361857409&nonce_str=123&sign=0963e3350a057e5933c651af79ab441c789b585b3f2f36aab31289540e5bd2ef






















































发送数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "notify_url""www.alphapay.com/success.php",
      "operator""dev01",
      "channel""Wechat",
      "appid""wx0000000000000001",
      "customer_id""xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}























返回数据示例


{
      "partner_order_id""ZZZ620200304144418",
      "full_name""Hello Alpha Pay",
      "partner_name""Hello Alpha Pay",
      "channel""Wechat",
      "sdk_params"
        {
          "timestamp""1583361857409",
          "package""prepay_id=wx0000000000000000000000000001",
          "paySign""D8048A08613E526CB8E4026533666210",
          "appid""wx0000000000000001",
          "signType""MD5",
          "nonceStr""0963e3350a057e5933c651af79ab441c789b585b3f2f36aab31289540e5bd2ef"
        },
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""ZZZ6-20200303162209092-MO10OORNM",
      "return_code""SUCCESS"
}




Retail Pay - 创建线下支付订单



线下支付订单接口用于带有扫码设备的收银终端进行对接,商户输入金额后要求客户出示支付码,用扫码枪扫码后将扫码内容和金额一并提交并完成支付操作。 线下支付订单接口现已兼容微信、支付宝通道和银联云闪付。



PUT
 https://pay.alphapay.ca/api/v1.0/micropay/partners/{partner_code}/orders/{order_id}


接入流程





Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或者6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
device_id String 必填,设备ID。此ID只为标记支付机器,并不能作为实际的验证。
auth_code String 必填,扫描用户微信/支付宝客户端得到的支付码


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
input_fee int 输入金额 (不含手续费)
create_time String 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,加拿大西部时间)
real_fee int 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
total_fee int 订单金额,单位是货币最小面值单位
order_description String 订单描述
channel String 支付渠道 Alipay、Wechat、UnionPay
result_code String
  • PAYING: 等待支付
  • CREATE_FAIL: 订单创建失败
  • CLOSED: 已关闭
  • PAY_FAIL: 支付失败
  • PAY_SUCCESS: 支付成功
currency String 币种,通常为CAD
customer_id String 微信、支付宝或银联云闪付用户ID
return_code String 执行结果
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
AUTHCODEEXPIRE 二维码已过期
NOTENOUGH 余额不足
NOTSUPORTCARD 不支持卡类型
AUTH_CODE_ERROR 二维码被重复提交
AUTH_CODE_INVALID 不是微信支付二维码
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述












发送请求示例


https://pay.alphapay.ca/api/v1.0/micropay/partners/ZZZ6/orders/ZZZ620200304151231?time=1583363550018&nonce_str=123&sign=cb03434d656c27a661ab29bbe6f35657038d938b91db3d66e0fc5a30fec267d5








































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "notify_url""www.alphapay.com/success.php",
      "device_id""00000000001",
      "auth_code""000000000000000001",
}





















返回数据示例


{
      "partner_order_id""ZZZ620200304151231",
      "input_fee"1,
      "create_time""2020-03-04 15:14:46",
      "real_fee"1,
      "total_fee"1,
      "order_description""DEVELOPER TEST-ZZZ620200304151231",
      "channel""Wechat",
      "result_code""PAYING",
      "currency""CAD",
      "customer_id"null,
      "return_code""SUCCESS",
      "order_id""0240520200304151446961208"
}




Retail Pay - 创建线下QR Code支付单



线下QRCode支付用于对接无扫码设备的收银终端,下单后得到二维码地址,自行生成二维码图片后展示在收银终端屏幕上,并由用户使用对应支付客户端进行扫码支付。 线下QRCode现已同时兼容支付宝、微信支付客户端进行支付。



PUT
 https://pay.alphapay.ca/api/v1.0/retail_qrcode/partners/{partner_code}/orders/{order_id}


接入流程





Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


JSON

字段 类型 描述
description String 必填,订单标题(最大长度128字符,超出自动截取)
price int 必填,金额,单位为货币最小单位,例如使用100表示CAD1.00
currency String 币种代码
默认值: CAD
允许值: CAD , CNY
notify_url String 支付通知url,详见支付成功回调,不填则不会推送支付通知
device_id String 必填,设备ID
operator String 操作人员标识,用于商户系统识别操作人员


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
partner_order_id String 商户订单ID
full_name String 商户注册全名
code_url String 支付码字符串,商户可以据此自行生产二维码
partner_name String 商户名称
result_code String SUCCESS表示创建订单成功,EXISTS表示订单已存在
partner_code String 商户编码
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同
return_code String 执行结果
qrcode_img String Base64封装的二维码图片,可直接作为img的src属性


错误码

名称 描述
ORDER_MISMATCH 订单号与商户不匹配
ORDER_PAID 订单已支付
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述











发送请求示例


https://pay.alphapay.ca/api/v1.0/retail_qrcode/partners/ZZZ6/orders/ZZZ620200304153159?time=1583364718677&nonce_str=123&sign=f458b8f9e3643794466c34decbd1cc4170651d7679aef4a73d3772dd3eab523e




















































请求数据示例


{
      "description""DEVELOPER TEST",
      "price"1,
      "currency""CAD",
      "notify_url""www.alphapay.com/success.php",
      "device_id""00000000001",
      "operator""dev01",
}





















返回数据示例


{
      "partner_order_id""ZZZ620200304153159",
      "full_name""Hello Alpha Pay",
      "code_url""https://pay.alphapay.ca/api/v1.0/payment/partners/ZZZ6/orders/0240520200304153243297379/retail_pay",
      "partner_name""Hello Alpha Pay",
      "result_code""SUCCESS",
      "partner_code""ZZZ6",
      "order_id""0240520200304153243297379",
      "return_code""SUCCESS",
      "qrcode_img""data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrPYAAACFElEQVR42u2aS27DMAxEmZWO4Zs68k11hC69EivOSPm4CdCtBhICw3VeF6VH5JCq+X/Wjy1sYQtb2MIUsGqx7l72uPrh5X5u7iWeJi0s7sueSmMyrn7azeOmqmHFEh8GfDu3FpMb4rMrYvHQthxXrCSLhbBD2yFyxEcSg8gRDRtfHd/2wtRY/7ZcPh/z29RYXz1ZITKph+JDzZoZq9i8ZttxIjKtJJ3t035sGUwK80jIAbMeIT9D5xEiKay95TqCkHtVQv09r4lLAGuqdjysyNU5ii/evkthjupjo+Du+BV7SdcyGINQaRep7R6N8i7y+TFDcsYbp7XApqbT0MK6sH244s3Z/kSU1DBKur1xGsX6zR5PjqGzey1GTecRiovIBTD2dNAzMrPTMaJnT1rY0DMlDV+BEKVrIzA91souDMYoRqF5uItL3BQwSLovJGdG5upDZseiTw9HEVk6s1UfLXxOUhjKLv981Fzs6BvGFFUMS8xdPkYTIOkb5TBHNGAtaBpRjP7shfkxNgKcqvVej2PhnOQwi/nhgw8DecZ7r2pYuCaMvmEdsaM5Gb67FMZFVY8a1G2kGFafvXk/y2A92pPnpIUBeLRyxzCQFRtcC8PxzRh6x8372F8NQxsbaTnmw9vjOFIS2+ko0BHAXF0MhgDGg6rRsLPZse34fJ41M2bPs4wX04juQAtb/+KysIUtbGH62C+l+/3an4SIyQAAAABJRU5ErkJggg=="
}




CommonApi - 获取当前汇率


获取当前微信CAD兑CNY汇率值(1CAD=?CNY),该汇率仅做参考,以实际成交汇率为准。


GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/channel_exchange_rate


Header

字段 描述
Accept application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
wechat_rate Double 微信汇率
alipay_retail_rate Double 支付宝线下渠道汇率
alipay_online_rate Double 支付宝线上渠道汇率
return_code String 执行结果


错误码

名称 描述
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述







发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/channel_exchange_rate?time=1583365498458&nonce_str=123&sign=94cae1d62877b717f85bc68f6e4b493c592fec3cfb2ba2c81d615defc18bdf3e



































返回数据示例


{
      "wechat_rate"5.2118990000,
      "alipay_retail_rate"5.212000,
      "alipay_online_rate"5.236220,
      "return_code""SUCCESS"
}






CommonApi - 查询订单状态


查询范围包括QRCode订单、JSAPI订单和线下支付订单。

GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}


Header

字段 描述
Accept application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
create_time String 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,加拿大西部时间)
real_fee int 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
order_decription int 订单描述
channel String 支付渠道 Alipay、Wechat、UnionPay
channel_order_id String 渠道方(Alipay/Wechat/UnionPay)订单号
pay_time String 支付时间(yyyy-MM-dd HH:mm:ss,加拿大西部时间)
partner_order_id String 商户订单ID
input_fee int 订单输入金额,不含手续费
rate Double 交易时使用的汇率,1CAD=?CNY
total_fee int 订单金额,单位是货币最小面值单位
result_code String
  • PAYING: 等待支付
  • CREATE_FAIL: 订单创建失败
  • CLOSED: 已关闭
  • PAY_FAIL: 支付失败
  • PAY_SUCCESS: 支付成功
  • PARTIAL_REFUND: 部分退款
  • FULL_REFUND: 全额退款
如果需要可以用相同订单号再次发起支付单,支付成功或支付中的无法重复发起订单。
currency String 币种,通常为CAD
customer_id String 微信用户id、支付宝用户id、银联云闪付用户id
return_code String 执行结果
order_id String AlphaPay订单ID,同时也是微信、支付宝订单ID,最终支付成功的订单ID可能不同


Error Code

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述









发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200304151231?time=1583366028258&nonce_str=123&sign=969ab2c7486f7327fb2ed358b66a2e997e40263761c5c7aea2a689dec5ee681a




































返回数据示例


{
      "create_time""2020-03-04 15:14:46",
      "real_fee"1,
      "order_description""DEVELOPER TEST-ZZZ620200304151231",
      "channel""Wechat",
      "channel_order_id""4200000491202003056383825269",
      "pay_time""2020-03-04 15:14:47",
      "partner_order_id""ZZZ620200304151231",
      "input_fee"1,
      "rate"5.17620320,
      "total_fee"1,
      "result_code""PAY_SUCCESS",
      "currency""CAD",
      "customer_id""xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "return_code""SUCCESS",
      "order_id""0240520200304151446961208"
}





CommonApi - 申请退款


一笔支付订单可以分多次退款,退款总金额不得超过实际支付金额,退款币种与支付订单一致。


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}/refunds/{refund_id}


Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)
refund_id String 必填,商户退款单号(如商户系统没有refund_id, 可与order_id一致)


JSON

字段 类型 描述
fee int 必填,退款金额,单位是货币最小单位,单个订单退款单金额总和不能超过用户支付金额(如客人支付手续费:需要检验订单获得real_fee, 退款可同时退手续费)


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
amount int 退款金额,单位是货币最小单位
channel_refund_id String 退款渠道单号,如果有则显示
channel String 支付渠道,“Wechat”、“Alipay” 或者 “UnionPay”
currency String 币种, 通常为CAD
result_code String
  • WAITING: 正在提交
  • CREATE_FAILED: 提交失败
  • SUCCESS: 提交成功
  • FAILED: 退款失败
  • FINISHED: 退款成功
  • CHANGE: 退款无法到账,需要人工介入
refund_id String AlphaPay退款单号
partner_refund_id String 商户提交的退款单号
return_code String 执行结果


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
ORDER_NOT_PAID 订单未支付完成,无法退款
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述










发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200304151231/refunds/ZZZ620200304151231?time=1583368161186&nonce_str=123&sign=5c94900e1e379d2e19f92beeaf06e9ba7f6e62fa05daac24e2c84921a2237553

























请求数据示例


{
      "fee"1
}
















返回数据示例


{
      "amount"1,
      "channel_refund_id""50000503822020030515001953629",
      "channel""Wechat",
      "currency""CAD",
      "result_code""SUCCESS",
      "refund_id""ZZZ6R20200304163001069H5HILC9JBW",
      "partner_refund_id""ZZZ620200304151231",
      "return_code""SUCCESS"
}





CommonApi - 查询退款状态


GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}/refunds/{refund_id}

Header

字段 描述
Accept application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)
refund_id String 必填,商户退款单号(如商户系统没有refund_id, 可与order_id一致)


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
amount int 退款金额,单位是货币最小单位
channel_refund_id String 退款渠道单号,如果有则显示
channel String 支付渠道,“Wechat”、“Alipay” 或者 “UnionPay”
currency String 币种, 通常为CAD
result_code String
  • WAITING: 正在提交
  • CREATE_FAILED: 提交失败
  • SUCCESS: 提交成功
  • FAILED: 退款失败
  • FINISHED: 退款成功
  • CHANGE: 退款无法到账,需要人工介入
refund_id String AlphaPay退款单号
partner_refund_id String 商户提交的退款单号
return_code String 执行结果


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
ORDER_NOT_PAID 订单未支付完成,无法退款
REFUND_NOT_EXIST 退款单不存在
REFUND_MISMATCH 退款单号与支付单不匹配
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述







发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200304151231/refunds/ZZZ620200304151231?time=1583369179194&nonce_str=123&sign=9b3d71132eee75db0cbcf839092b82b744a9ddd01704b54d1b90d6d03c348236




































返回数据示例


{
      "amount"1,
      "channel_refund_id""50000503822020030515001953629",
      "channel""Wechat",
      "currency""CAD",
      "result_code""FINISHED",
      "refund_id""ZZZ6R20200304163001069H5HILC9JBW",
      "partner_refund_id""ZZZ620200304151231",
      "return_code""SUCCESS"
}





CommonApi - 查看账单


GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders

Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成


Query Params

字段 类型 描述
date String 订单创建日期,'yyyyMMdd'格式,加拿大西部时间,不填默认查询所有订单
status String 订单状态
  • ALL: 全部订单,包括未完成订单和已关闭订单
  • PAID: 只列出支付过的订单,包括存在退款订单
  • REFUNDED: 只列出存在退款订单
  • 默认值: ALL
    允许值: ALL , PAID , REFUNDED
page int 页码,从1开始计算
默认值: 1
limit int 每页条数
默认值: 10
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


ROOT

字段 类型 描述
pagination JSON 分页信息
data JSON[] 订单列表
analysis JSON 统计信息
return_code String 执行结果


Pagination

字段 类型 描述
page int 页码
limit int 每页条数
totalCount int 总条数
totalPages int 总页数


Data

字段 类型 描述
create_time String 格式'yyyy-MM-dd HH:mm:ss',加拿大西部时间,订单创建时间
real_fee int 订单支付金额,单位是货币最小单位
partner_name String 商户名称
channel String 支付渠道 Alipay、Wechat、UnionPay
partner_order_id String 商户订单ID
pre_authorization Boolean “true”表示预授权订单,“false”表示普通订单
total_fee Double 订单金额,单位是货币最小单位
refund_fee Double 当前订单退款金额,单位是货币最小单位
tip_amount Double 小费金额,单位是货币最小单位
currency String 币种
partner_code String 商户编码
order_id String AlphaPay订单ID
order_body String 订单标题
pay_time String 格式'yyyy-MM-dd HH:mm:ss',加拿大西部时间,支付时间,未支付订单为空
status String 订单状态
  • SUBMITTING: 提交中
  • SUBMIT_FAIL: 提交失败
  • WAITING_PAYMENT: 等待支付
  • CLOSED: 已关闭
  • PAYMENT_FAIL: 支付失败
  • SUCCESS: 支付成功
  • PARTIAL_REFUND: 部分退款
  • FULL_REFUND: 全额退款
gateway String 订单模式
  • Retail In-Store: AlphaPay 线下支付
  • QRCODE: 商户静态二维码
  • Online API: 网站QRCode API支付
  • WeChat HTML5: JSAPI支付
  • Retail API: 线下API支付
  • Mobile H5: H5 API支付
  • APP: APP SDK支付
  • Miniprogram: 小程序支付
channel_error_message String 订单创建或支付失败的原因


Analysis

字段 类型 描述
order_count int 支付成功订单数(包含有退款订单)
total_fee int 成交订单总额,货币最小单位
real_fee int 支付总额,货币最小单位


错误码

名称 描述
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述






发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders?time=1583369635364&nonce_str=123&sign=c88e05a64d6f42d76111e7d96c3ae109f28c7bc15a8a434a7978a874532ad0f1



















































返回数据示例


{
      "pagination": {
        "endRow"10,
        "firstPage"true,
        "hasNextPage"true,
        "hasPrePage"false,
        "lastPage"false,
        "limit"10,
        "nextPage"2,
        "offset"0,
        "page"1,
        "prePage"1,
        "slider": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "startRow"1,
        "totalCount"11864,
        "totalPages"1187
      },
      "data": [
        {
          "create_time""2017-11-24 12:31:25",
          "real_fee"1.0000,
          "partner_name""Hello Alpha Pay",
          "channel""Wechat",
          "partner_order_id""ZZZ62017-11-24 12:31:23",
          "pre_authorization"false,
          "ext_params""NULL",
          "total_fee"1.0000,
          "refund_fee"0.0000,
          "tip_amount"0.0000,
          "currency""CAD",
          "partner_code""ZZZ6",
          "order_id""ZZZ6-20171124203125377-JTKF3IIBJ",
          "order_body""test-ZZZ62017-11-24 12:31:23",
          "gateway""Online API",
          "status""CLOSED"
        }
      ],
      "analysis": {
        "cny_display_amount"665.5100,
        "order_count"1992,
        "pre_cny_display_amount"0.0000,
        "pre_refund_fee"0.0500,
        "refund_fee"-3196.8700,
        "paid_fee"3288.3200,
        "customers"177,
        "display_amount"3157.2100,
        "pre_display_amount"0.0500
      },
      "return_code""SUCCESS"
}





CommonApi - 查看账单流水



本接口将列出商户当日所有流水,包括所有接口(含非网关接口)支付通道的付款、AlphaPay优惠补贴、退款、 退款失败补正、系统补正、营销账户转入转出等,不含清算信息。
注意: 一笔付款订单或退款订单均可能对应多条流水记录。



GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/transactions

Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成


Query Params

字段 类型 描述
date String 必填, 账单日期,'yyyyMMdd'格式,加拿大西部时间
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


ROOT

字段 类型 描述
order_count int 付款单数
transaction_count int 流水总条目
result_code String 业务执行结果
transactions JSON[] 流水列表
refund_count int 退款单数
return_code String 执行结果


Transactions

字段 类型 描述
exchange_rate Double 使用汇率
customer_payment_amount int 用户实际支付金额,单位是货币最小单位
channel String 支付渠道 Alipay、Wechat、UnionPay
remark String 备注
channel_order_id String 渠道方(Alipay/Wechat/UnionPay)订单号
type String 流水类型
  • Credit: 入账
  • Debit: 出账
refund_id String AlphaPay退款单ID(仅退款或退款失败补正)
total_surcharge int 手续费总额(CAD分)
partner_order_id String 商户订单ID
input_amount int 订单输入金额,单位是货币最小单位
total_amount int 订单总金额,单位是货币最小单位
settle_amount int 结算金额,币种为CAD,单位是货币最小单位
transaction_time String 交易时间,格式'yyyy-MM-dd HH:mm:ss',加拿大西部时间
currency String 币种
order_id String AlphaPay订单ID
partner_refund_id String 商户系统提交退款ID(仅退款或退款失败补正)
gateway String 下单接口
  1. 线下扫码(扫描客户展示的付款码)
  2. 线下扫码(客户扫描POS展示的二维码)
  3. 商户静态码
  4. QRCode网关
  5. JSAPI网关
  6. 线下网关
  7. 线下网关
  8. 商户静态码
  9. Mobile H5
  10. 第三方网关
  11. APP网关
  12. 账单码
  13. 小程序
  14. 原生二维码
  15. 账单链接
surcharge_rate String 手续费费率(x%)


错误码

名称 描述
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述














发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/transactions?date=20200304&time=1583433703274&nonce_str=123&sign=3528e22beff8f85b5f1534c22664684db7e80672645dd5586945d40043165144




































返回数据示例


{
      "order_count"1,
      "transaction_count"2,
      "result_code""SUCCESS",
      "transactions": [
        {
          "exchange_rate"5.176203,
          "customer_payment_amount"1,
          "channel""Wechat",
          "remark""MICROPAY:DEVELOPER TEST-ZZZ620200304151231",
          "channel_order_id""4200000491202003056383825269",
          "type""Credit",
          "refund_id"null,
          "total_surcharge"0,
          "partner_order_id""ZZZ620200304151231",
          "input_amount"1,
          "total_amount"1,
          "settle_amount"1,
          "transaction_time""20200304151447",
          "currency""CAD",
          "order_id""0240520200304151446961208",
          "partner_refund_id"null,
          "gateway"5,
          "surcharge_rate"0.0200
        },
        {
          "exchange_rate"5.176203,
          "customer_payment_amount"1,
          "channel""Wechat",
          "remark""GATEWAY - Refund For Order:DEVELOPER TEST-ZZZ620200304151231",
          "channel_order_id""50000503822020030515001953629",
          "type""Debit",
          "refund_id""ZZZ6R20200304163001069H5HILC9JBW",
          "total_surcharge"0,
          "partner_order_id""ZZZ620200304151231",
          "input_amount"1,
          "total_amount"1,
          "settle_amount"1,
          "transaction_time""20200304163003",
          "currency""CAD",
          "order_id""0240520200304151446961208",
          "partner_refund_id""ZZZ620200304151231",
          "gateway"5,
          "surcharge_rate"0.0200
        }
      ],
      "refund_count"1,
      "return_code""SUCCESS"
}





CommonApi - 查看清算详情



本接口将列出商户所选日期的所有流水(不包含本日流水),包括所有接口(含非网关接口)支付通道的付款、AlphaPay优惠补贴、退款、 退款失败补正、系统补正、营销账户转入转出等,不含清算信息。
注意一笔付款订单或退款订单均可能对应多条流水记录。



GET
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/settlements

Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成


Query Params

字段 类型 描述
date String 必填, 清算日期,'yyyyMMdd'格式,加拿大西部时间
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


ROOT

字段 类型 描述
order_count int 付款单数
total_credit int 入账总金额(CAD分)
transaction_count int 流水总条目
total_transfer int 打款总额(CAD分)
total_debit int 支出总金额(CAD分)
transactions JSON[] 流水列表
settle_days String 清算周期(T+n)
total_surcharge int 手续费总额(CAD分)
settle_to String 订单截止日期,yyyyMMdd
result_code String 业务执行结果
settle_from String 订单起始日期,yyyyMMdd
refund_count int 退款单数
return_code String 执行结果


Transactions

字段 类型 描述
surchargee int 手续费金额,单位是CAD分
exchange_rate Double 使用汇率
channel String 支付渠道 Alipay、Wechat、UnionPay
remark String 备注
channel_order_id String 渠道方(Alipay/Wechat/UnionPay)订单号
type String 流水类型
  • Credit: 入账
  • Debit: 出账
refund_id String AlphaPay退款单ID(仅退款或退款失败补正)
partner_order_id String 商户订单ID
input_amount int 订单输入金额,单位是货币最小单位
total_amount int 订单总金额,单位是货币最小单位
transfer_amount int 打款金额,单位是CAD分
settle_amount int 结算金额,币种为CAD,单位是货币最小单位
transaction_time String 交易时间,格式'yyyy-MM-dd HH:mm:ss',加拿大西部时间
currency String 币种
order_id String AlphaPay订单ID
partner_refund_id String 商户系统提交退款ID(仅退款或退款失败补正)
gateway String 下单接口
  1. 线下扫码(扫描客户展示的付款码)
  2. 线下扫码(客户扫描POS展示的二维码)
  3. 商户静态码
  4. QRCode网关
  5. JSAPI网关
  6. 线下网关
  7. 线下网关
  8. 商户静态码
  9. Mobile H5
  10. 第三方网关
  11. APP网关
  12. 账单码
  13. 小程序
  14. 原生二维码
  15. 账单链接
customer_payment_amount int 用户实际支付金额,单位是货币最小单位
surcharge_rate String 手续费费率(x%)


错误码

名称 描述
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述














Request Example


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/settlements?date=20200303&time=1583443132970&nonce_str=123&sign=b53c903adc697b974b4eeb2c4523a90eb63689193a8b93283cf3486aee67b08d




































Responce Example


{
      "order_count": 1,
      "total_credit": 1,
      "transaction_count": 1,
      "total_transfer": 1,
      "total_debit": 0,
      "transactions": [
        {
          "surcharge": 1,
          "exchange_rate": 5.234527,
          "channel": "Wechat",
          "remark": "MICROPAY:AlphaPay Retail Order",
          "channel_order_id": "4200000491202002283776594113",
          "type": "Credit",
          "refund_id": null,
          "partner_order_id": null,
          "input_amount": 1,
          "total_amount": 1,
          "transfer_amount": 1,
          "settle_amount": 1,
          "transaction_time": "20200227165517",
          "currency": "CAD",
          "order_id": "0374020200227165515743559",
          "partner_refund_id": null,
          "gateway": 0,
          "surcharge_rate": "0.1%"
        }
      ],
      "settle_days": "T+2",
      "total_surcharge": 1,
      "settle_to": "20200301",
      "result_code": "SUCCESS",
      "settle_from": "20200227",
      "refund_count": 0,
      "return_code": "SUCCESS"
}





CommonApi - 订单暂停清算


订单暂停清算业务,实际客人已经支付订单,商户想把支付款留在账户内,暂不清算。


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}/settle_lock


Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
result_code String
  • WAITING: 正在提交
  • CREATE_FAILED: 提交失败
  • SUCCESS: 提交成功
  • FAILED: 暂停清算失败
  • FINISHED: 暂停清算成功
  • CHANGE: 无法暂停清算,需要人工介入
return_code String 执行结果


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
ORDER_NOT_PAID 订单未支付完成,无法退款
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述










发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200304151231/settle_lock?time=1587855343247&nonce_str=123&sign=960e0cb7dfe16abfa821a198b3b0d005621340880f85d854887d6a7c023a4a15
















返回数据示例


{
      "result_code""SUCCESS",
      "return_code""SUCCESS"
}





CommonApi - 恢复正常清算


订单恢复正常清算。


PUT
 https://pay.alphapay.ca/api/v1.0/gateway/partners/{partner_code}/orders/{order_id}/release_settle_lock


Header

字段 描述
Accept application/json
Content-Type application/json


Path Variable

字段 类型 描述
partner_code String 必填,商户编码,由4位或6位大写字母或数字构成
order_id String 必填,商户支付订单号,要求同一商户唯一 (最大长度50字符)


Query Params

字段 类型 描述
time Long 必填,UTC毫秒时间戳
nonce_str String 必填,随机字符串
sign String 必填,签名(需生成一个新的sign)


Success 200

字段 类型 描述
result_code String
  • WAITING: 正在提交
  • CREATE_FAILED: 提交失败
  • SUCCESS: 提交成功
  • FAILED: 恢复清算失败
  • FINISHED: 恢复清算成功
  • CHANGE: 恢复清算无法到账,需要人工介入
return_code String 执行结果


错误码

名称 描述
ORDER_NOT_EXIST 订单不存在
ORDER_MISMATCH 订单号与商户不匹配
ORDER_NOT_PAID 订单未支付完成,无法退款
SYSTEMERROR 系统内部异常
INVALID_SHORT_ID 商户编码不合法或没有对应商户
SIGN_TIMEOUT 签名超时,time字段与服务器时间相差超过5分钟
INVALID_SIGN 签名错误
PARAM_INVALID 参数不符合要求,具体细节可参考return_msg字段
NOT_PERMITTED 未开通网关支付权限
INVALID_CHANNEL 不合法的支付渠道名称,请检查大小写


ERROR

名称 描述
return_code 错误代码
return_msg 错误描述










发送请求示例


https://pay.alphapay.ca/api/v1.0/gateway/partners/ZZZ6/orders/ZZZ620200304151231/release_settle_lock?time=1587856192854&nonce_str=123&sign=c5529fc2eb85c235f83a59553936e68b9fa5965ec25f7a145d4a87969d7b04cb
















返回数据示例


{
      "result_code""SUCCESS",
      "return_code""SUCCESS"
}