繁體中文
  • 繁体
    简体中文
  • 繁体
    繁體中文

青苹果

守护您的资产安全

添加客服微信号向客服提问咨询

简介
  • 阅读对象
  • 本文阅读对象:商家集成青苹果支付涉及的技术架构师,研发工程师,测试工程师,系统运维工程师

  • PC网站支付简介
  • 用户通过青苹果PC收银台完成支付,交易款项即时给到商家青苹果账户

  • 支付流程
  • 1、买家在商家网站选择需购买的商品,填写订单信息后,点击支付。

    2、点击立即支付后,网页跳转到青苹果收银台页面。

    3、使用青苹果应用扫一扫屏幕二维码,待手机提示付款后输入密码即可完成支付。

    4、付款成功,跳转回商户网站,支付流程完成。

  • 接入条件
  • 1、企业或个体工商户,具有真实有效的营业执照;

    2、网站能正常访问,页面显示完整,有明确的运营内容与完整的商品信息。

青苹果电脑网站支付接入概览

接入青苹果支付只需要以下三个步骤:

1、青苹果支付预下单API

2、访问收银台

3、处理支付结果。

  • 预下单API
  • 调用 青苹果支付预下单API 以获取青苹果收银台的网关地址returnUrl

    TIPS:电脑网站支付接口需申请签约后,获取密钥并完成签名机制后才能调用, 点击申请

  • 访问收银台
  • 通过青苹果支付预下单API返回的青苹果网关地址returnUrl访问收银台,returnUrl示例如下:

    http://test.pay.com?trade_no=19010805392074241

  • 处理支付结果
  • 1、买家完成付款后,青苹果会向你发送一个 异步的支付结果回调

    2、商家根据订单主动查询充值信息。

为了保证商家与青苹果通信的安全性,防止通信数据被篡改,青苹果要求对所有通信的数据进行加密。目前青苹果使用RSA加密中的SHA1 with RSA加密算法。商家在青苹果平台注册成功后会得到商家的公钥,私钥和青苹果平台公钥.商家发送请求数据时用青苹果平台提供给商家的私钥进行加密,青苹果平台收到商家请求时用商家公钥验签。青苹果平台发送请求数据给商家时,用青苹果平台私钥进行加密发送,商家收到数据时用青苹果平台公钥进行验签。

  • 加签
  • 1、将请求参数进行排序,进行签名原串

    请求json字符串示例

    {

    "signType":"RSA",

    "bussinessId":"201811301550980012",

    "userId":"2017112390089",

    "timeStamp":"1543656204704",

    "notifyUrl":"http://www.***.com/nofity",

    "goodsName":"iwatch",

    "amount":1999.01,,

    "description":"ok"

    排序(根据key值的ascii码升序排序)后示例:

    {

    "amount":1999,

    "bussinessId":"201811301550980012",

    "description":"ok",

    "goodsName":"iwatch",

    "notifyUrl":"http://www.***.com/nofity",

    "timeStamp":"1543656204704",

    "userId":"2017112390089",

    "signType":"RSA"

    }

    2.将排序后的JSON key,value字段值拼起来进行签名,金额字段转成字符串时四舍五入保留两位小数如:12 转换后成12.00 拼接后的字符串示例如:

    amount=1999.00&bussinessId=201811301550980012&description=ok&goodsName=iwatch¬ifyUrl=http://www.***.com/nofity&timeStamp=1543656204704&userId=2017112390089&signType=RSA

    3、将拼起来的字符串使用青苹果给商家发布的商家私钥进行加密,得到签名结果 4、将签名加入到请求参数中 形成签名后的请求参数示例

    {

    "amount":"1999",

    "bussinessId":"201811301550980012",

    "description":"ok",

    "goodsName":"iwatch",

    "notifyUrl":"www.***.com/nofity",

    "returnUrl":"www.***.com/return",

    "timeStamp":"1543656204704",

    "userId":"2017112390089",

    "signType":"RSA",

    "sign”:"G7jZ0gTfkcGWoMYgkGxGYrjAO4IfJ97gxkA2i3JYEzcZulLjiuw8cIqNdn7IqvZW/UFhut5YnWrKs2sPM0GRQ=="

    }

  • 验签
  • 从收到的请求参数中取出sign字段信息,然后对剩下的请求参数进行排序,按作为待验证的字符串,最后使用RSA算法进行解密,比对签名是否一致。

商家系统下单,进行承兑买入,得到匹配成功后的承兑单号

post https://paysrv.qapple.io/v2/api/merchant/merchantcenter/pay/prePay

以上为测试环境地址,发布生产时会另做修改.

参数(请求body)

{

"outTradeNo":"12389123",//商家订单号,String,必填

"orderAmountRmb":1.23,//订单总金额,Number,必填,单位为元,精确到小数点后两位

"merchantName":"testMerchantName01",//商家账户名称,String,必填

"vipName":"testUser01",//商家会员名称,String,必填

"subject":"xx商品",//商品的标题/交易标题/订单标题/订单关键字等。

"body":"Iphone6 16G",//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。

"notifyUrl":"www.***.com/nofity" ,//回调地址

"signType":"RSA",

"sign":"xxxx"//参数签名

}

成功时返回

{

"data": {//数据

"outTradeNo": "12389123",//商户网站唯一订单号,String,必填

"tradeNo": "19010805392074241",//该交易在青苹果系统中的交易流水号。最长64位,String,必填

"merchantName":"testMerchantName01",//商家账户名称,String,必填

"orderAmountRmb":1.23,//订单总金额,Number,必填,单位为元,精确到小数点后两位

"returnUrl":"http://test.pay.com?trade_no=19010805392074241", //支付页面跳转地址

"signType":"RSA",

"sign":"xxxx"//参数签名

},

"code": 200,//状态码

"message": "SUCCESS",//信息

"traceNo": "bd0ee3f759e602dc",//本次请求编号

}

下单失败

{

"code": 500,//状态码

"message": "暂未匹配到承兑信息,请稍后重试!",//信息

"traceNo": "bd0ee3f759e602dc",//本次请求编号

}

  • 1、通知回调

    充值支付成功,失败或者取消,青苹果平台会通知商家系统结果状态,商家平台收到消息后根据支付状态(status)来处理业务,处理完后回应。商家平台要处理同一消息多次发送的情况,确保接口幂等性,防止多次处理同一消息对业务造成错误。

    post 商家提供callback url

参数(请求body)

{

"outTradeNo": "12389123",//商户网站唯一订单号,String,必填

"tradeNo": "19010805392074241",//该交易在青苹果系统中的交易流水号。最长64位,String,必填

"orderAmountRmb":1.23,//订单总金额,Number,必填,单位为元,精确到小数点后两位

"receiveAmountGac":1.23,//商家预计到账的Gac金额(最小0.01),Double,必填

"userpayAmountRmb":1.23,//用户实际支付的RMB金额(最小0.01),Double,必填

"status":"SUCCESS",//String 必填,SUCCESS支付成功,CANCEL:已取消,FAIL:失败

"payTime":1521790357,//Long,支付时间戳

"merchantName":"testMerchantName01",//商家账户名称,String,必填

"vipName":"testUser01",//商家会员名称,String,必填

"subject":"订单标题",//商品的标题/交易标题/订单标题/订单关键字等。

"signType":"RSA",

"sign":"xxxx"//参数签名

}

返回

商家后台收到回调消息处理完后回应以下数据表示成功收到,否则青苹果平台会尝试消息多次发送

{

"code": 200,//状态码 200表示成功,其它表示失败

"message": "操作成功!"

}

  • 2、商家根据订单查询充值信息

    商家系统通过商家单号,查验充值单状态

    post https://paysrv.qapple.io/v2/api/merchant/merchantcenter/pay/prePay

    以上为测试环境地址,发布生产时会另做修改,http可能改为https

参数(请求body)

{

"outTradeNo":"12389123",//商家订单号,String,必填

"merchantName":"testMerchantName01",//商家账户名称,String,必填

"signType":"RSA",

"sign":"xxxx"//参数签名

}

成功情况

{

"data": {//数据

"outTradeNo": "12389123",//商户网站唯一订单号,String,必填

"tradeNo": "19010805392074241",//该交易在青苹果系统中的交易流水号。最长64位,String,必填

"orderAmountRmb":1.23,//订单总金额,Number,必填,单位为元,精确到小数点后两位

"receiveAmountGac":1.23,//商家预计到账的Gac金额(最小0.01),Double,必填

"userpayAmountRmb":1.23,//用户实际支付的RMB金额(最小0.01),Double,必填

"status":"WAITPAY",//String 必填,WAITPAY:待支付,SUCCESS支付成功,CANCEL:已取消

"payTime":1521790357,//Long,支付时间戳

"merchantName":"testMerchantName01",//商家账户名称,String,必填

"vipName":"testUser01",//商家会员名称,String,必填

"subject":"订单标题",//商品的标题/交易标题/订单标题/订单关键字等。

"signType":"RSA",

"sign":"xxxx"//参数签名

},

"code": 200,//状态码

"message": "SUCCESS",//信息

"traceNo": "bd0ee3f759e602dc",//本次请求编号

}

异常情况

{

"code": 500,//状态码

"message": "记录为空",//信息

"traceNo": "bd0ee3f759e602dc",//本次请求编号

}

平台和语言 说明 支付模式 操作
JAVA 【青苹果支付】API对应的接口文档和demo 快捷承兑支付 下载
.NET C# 【青苹果支付】API对应的接口文档和demo 快捷承兑支付 完善中
PHP 【青苹果支付】API对应的接口文档和demo 快捷承兑支付 完善中

    提示

    1.官方DEMO作为参考或示例,请商家在使用过程中,要专业技术人员指导使用,注意系统兼容性。因为没正确使用参考范例,由商户自己担责。

    2.有任何疑问可以通过邮件contact@qapple.io联系我们。

如有问题请发送邮件到 contact@qapple.io