django-alipay

  1. 电脑网站支付文档: https://docs.open.alipay.com/270
  2. 快速接入:https://docs.open.alipay.com/270/105899/
  3. 私钥:加密
  4. 公钥:解密
  5. API列表:https://docs.open.alipay.com/270/105900/
    • 统一收单下单并支付页面接口:alipay.trade.page.pay
    • 统一收单线下交易查询接口:alipay.trade.query
    • 公共参数:sing_type,sing.
    • 请求参数:和业务相关。out_trade_no:订单号。
    • 线下查询:特殊可选参数,两个参数,添一个就行(订单号 或 支付宝号)。
  6. SDK的使用:https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
  7. 签名,使用SDK时,会自动处理签名
  8. SDK:
    • 安装:pip install python-alipay-sdk --upgrade
    • 在支付宝中设置密码,公钥私钥
    alipay = AliPay(
        appid="",
        app_notify_url=None,  # the default notify path
        app_private_key_string=app_private_key_string,
        # alipay public key, do not use your own public key!
        alipay_public_key_string=alipay_public_key_string,
        sign_type="RSA", # RSA or RSA2
        debug=False  # False by default.如果是沙箱环境。配置为True
    )
    
        # 如果你是Python 2用户(考虑考虑升级到Python 3吧),请确保非ascii的字符串为utf8编码:
        subject = u"测试订单".encode("utf8")
        # 如果你是 Python 3的用户,使用默认的字符串即可
        subject = "测试订单"
        
        # 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_string
        order_string = alipay.api_alipay_trade_page_pay(
            out_trade_no="20161112",
            total_amount=0.01,
            subject=subject,
            return_url="https://example.com",
            notify_url="https://example.com/notify" # 可选, 不填则使用默认notify url
        )
        
        pay_url = "https://openapi.alipay.com/gateway.do?" + order_string
    
    • 打开支付页面地址:window.open(pay_url)
    • 统一收单线下交易查询:alipay.trade.query
    {
        "code": "10000",
        "msg": "Success",
        "trade_no": "2013112011001004330000121536",
        "out_trade_no": "6823789339978248",
        "buyer_logon_id": "159****5620",
        "trade_status": "TRADE_CLOSED",
        "total_amount": 88.88,
        "trans_currency": "TWD",
        "settle_currency": "USD",
        "settle_amount": 2.96,
        "pay_currency": 1,
        "pay_amount": "8.88",
        "settle_trans_rate": "30.025",
        "trans_pay_rate": "0.264",
        "buyer_pay_amount": 8.88,
        "point_amount": 10,
        "invoice_amount": 12.11,
        "send_pay_date": "2014-11-27 15:45:57",
        "receipt_amount": "15.25",
        "store_id": "NJ_S_001",
        "terminal_id": "NJ_T_001",
    }
    

猜你喜欢

转载自blog.csdn.net/m0_47202787/article/details/106412009