• 如何高效开发支付接口对接


    接入步骤:
    1. 下载官方SDK或Demo
    2. 开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台开发者中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。
    3. 把demo部署到沙盒环境进行1分钱支付测试
    4. demo测试通过后,正式接入业务流程

    注意:
    1. 支付安全域名的设置,一般只限本级目录,如果是本级目录的子目录,则可能无法正常使用;安全域名URL一般区分大小写(因为支付提供商服务器一般是Linux系统,对大小写敏感)!

    2. 配置密匙中的公钥,不一定是RSA生成的公钥,比如支付宝支付接口2.0,就要求把RSA生成的原始公钥(APP_PUBLIC_KEY)提交到开放平台开发者中心的密匙配置中,然后支付宝会生成另一个公钥,叫支付宝公钥(ALIPAY_PUBLIC_KEY)。在应用配置中,公钥字段要填写支付宝公钥(ALIPAY_PUBLIC_KEY),而不是应用公钥(APP_PUBLIC_KEY)。这是支付宝提高安全的一个方法,结果在调试的时候,一直提示签名验证失败,就是因为把应用配置中的公钥填错了。


    return_url和notify_url区别:
    return_url: 页面返回支付结果,同步返回get请求类型的返回参数。完成支付后,系统会根据商户在手机网站支付API中传入的前台回跳地址return_url自动跳转回商户页面,同时在URL请求中以Query String的形式附带上支付结果参数。(请求类型一般是get)
    notify_url: 后台通知支付结果,异步返回post请求类型的通知参数。完成支付后,系统会异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统。(请求类型一般是post)

    注意:
    1. 由于前台回跳/同步返回(return_url)的不可靠性,前台回跳只能作为商户支付结果页的入口,最终支付结果必须以异步通知或查询接口返回为准,不能依赖前台回跳。
    2. 商户系统接收到异步通知(notify_url)以后,必须通过验签(验证通知中的sign参数)来确保支付通知是由支付宝发送的。
    3. 接受到异步通知(notify_url)并验签通过后,一定要检查通知内容,包括通知中的app_id, out_trade_no, total_amount是否与请求中的一致,并根据trade_status进行后续业务处理。


    订单支付安全
    1. 商户系统接收到异步通知(notify_url)以后,必须通过验签(验证通知中的sign参数)来确保支付通知是由支付服务商发送的。
    2. 商户系统一定要保证不同次支付out_trade_no不可重复。(生成订单号可以参考:http://www.cnblogs.com/sochishun/p/7070365.html

    版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
    本文标题:如何高效开发支付接口对接
    本文链接:http://www.cnblogs.com/sochishun/p/7070768.html
    本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
    发表日期:2017年6月23日

  • 相关阅读:
    Android Studio 开发环境设置
    Android-项目介绍
    Android-开发工具
    在js 中使用ajax 调用后台代码方法,解析返回值
    $.each解析json
    VS2008 "当前不会命中断点。源代码与原始版本不同"解决方法
    64位系统 安装oracle
    session丢失返回登陆页
    DataTable转换为JsonResult
    easyui 绑定数据
  • 原文地址:https://www.cnblogs.com/sochishun/p/7070768.html
Copyright © 2020-2023  润新知