zoukankan      html  css  js  c++  java
  • 支付宝即时到账接口的集成和使用

    支付宝即时到账接口的集成和使用

    如果商户想在自己的网站上,集成支付宝的即时到账接口,首先要申请该服务,申请地址:https://b.alipay.com/order/productDetail.htm?productId=2012051600355662

    商户系统请求-支付宝响应交互模式,即支付宝接口集成及使用的工作原理:

     

    根据这个原理图,我们可以把集成支付宝接口的步骤划分如下:

    产品参考:http://www.jinhusns.com/Products/Download/?type=xcj

    一.    请求

    1. 构造请求数据

    商户根据支付宝提供的接口规则,通过程序生成得到签名结果及要传输给支付宝的数据集合。

    Ø  选定参数

    Ø  排序生成待签名字符串

    对参数数组里的每一个值从a到z的顺序排序,若遇到相同首字母,则看第二个字母,以此类推。排序完成之后,再把所有数组值以“&”字符连接起来,

    如:

    _input_charset=gbk&out_trade_no=6741334835157966&partner=2088101568338364

    &payment_type=1&return_url=http://www.test.com/alipay/return_url.asp&sell

    er_email=alipay-test01@alipay.com&service=create_direct_pay_by_user&subje

    ct=贝尔金护腕式&total_fee=100

    需要注意的是,在请求参数列表中,除去sign、sign_type两个参数外,其他需要使用到的参皆是要签名的参数。(个别接口中参数sign_type也需要参与签名。)

    (1)使用冒泡排序对参数数组进行排序:

    (2)用“&”字符连接参数组合成待签名的字符串:


    Ø  加密生成签名

    有三种签名方式:MD5签名、DSA签名和RSA签名。

    MD5签名: 需要把私钥直接拼接到待签名字符串后面,形成新的字符串,利用MD5的签名函数对这个新的字符串进行签名运算,从而得到32位签名结果字符串。

    DSA、 RSA签名:把待签名字符串与客户的私钥一同放入DSA或RSA的签名函数中进行签名运算,从而得到签名结果字符串。

    下面是用MD5签名的代码:


    2. 发送请求数据

    向支付宝发送请求数据有post和get两种方式,建议使用post 方式,相对比较安全。

     

    二.    通知

    支付宝对商户的请求数据处理完成后,会通过两种方式通知商户处理结果,一种是页面跳转同步通知(return_url),另一种是服务器异步通知(notify_url) 。

    服务器异步通知(notify_url)是支付宝服务器主动向商户发送的通知,只有当订单的交易状态改变时才会触发,可以防止因网络等原因引起的丢单问题。对同步通知和异步通知结果的处理步骤大致相同,只是处理完成后的返回值不同。

    1.      验证签名

    在通知返回参数列表中,除去sign、sign_type两个参数外,凡是通知返回回来的参数皆是要签名的参数,具体的签名步骤与请求时相同。

    如果新得到的签名与支付宝返回的签名相同,则签名验证成功。

    2.      判断是否是支付宝服务器发来的处理结果

    为了防止某些人伪造支付宝发来的处理消息,还要验证消息的合法性,有以下三个方法:

     

    3.      判断订单的交易状态及数据处理

    当订单的交易状态为“TRADE_FINISHED”或者“TRADE_SUCCESS” ,即为交易成功,接下来就可以根据自己网站的实际情况,进行自己的处理了。在处理数据前一定要先判断订单状态,是否已经处理过,防止重复操作。

    4.      返回数据

    同步通知(return_url):对返回值没有要求,可以做任意操作。

    异步通知(notify_url):程序处理成功后,该页面不能执行页面跳转,且页面上不能有任何字符,要返回“success”7个字符。否则,支付宝会重发处理结果的通知。

  • 相关阅读:
    nodejs基础
    javscript基本语法
    棋牌游戏趟坑笔记20200617
    nodejs 简介
    python 安装pip
    棋牌游戏趟坑笔记 2020-06-16
    棋牌游戏趟坑笔记 2020-06-15
    linux下安装java环境--debian
    马克思主义学习第二章第一节
    马克思主义学习第一章
  • 原文地址:https://www.cnblogs.com/xiaoxiaojia/p/5497330.html
Copyright © 2011-2022 走看看