DG Python SDK
===================================

 dougong sdk 工具类

安装
-----
远程下载并安装：

`pip install dg-sdk`


简介
------

为了提高客户接入的便捷性，本系统提供 SDK 方式介入，使用本 SDK 将极大的简化开发者的工作，开发者将无需考虑通信、签名、验签等，只需要关注业务参数的输入。



使用方法
--------

* 初始化SDK

未入网前，可使用以下测试商户参数进行开发测试

.. code:: Python

    import dg_sdk

    huifu_id = "6666000108854952"
    sys_id = "6666000108854952"
    product_id = "YYZY"
    private_key= " "
    public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkMX8p3GyMw3gk6x72h20NOk3L9+Nn9mOVP6+YoBwCe7Zs4QmYrA/etFRZw2TQrSc51wgtCkJi1/x8Wl7maPL1uH2+77JFlPv7H/F4Lr2I2LXgnllg6PtwOSw/qvGYInVVB4kL85VQl0/8ObyxBUdJ43I0z/u8hJb2gwujSudOGizbeqQXAYrwcNy+e+cjodpPy9unpJjBfa4Wz2eVLLvUYYKZKdRn6pZR2cQsMBvL30K4cFlZqlJ9iP2hTG3gaiZJ9JrjTigwki0g9pbTDXiPACfuF1nOeObvLD22zBbgn1kwgfsqoG67z7g84u2jvfUFCzX1JRgd0xfNorTRkS2RQIDAQAB"

    dg_sdk.DGClient.mer_config = dg_sdk.MerConfig(private_key, public_key, sys_id, product_id, huifu_id)

参数说明：

    +-------------+----------+
    | 参数        | 中文名   |
    +-------------+----------+
    | public_key  | 汇付公钥 |
    +-------------+----------+
    | private_key | 商户私钥 |
    +-------------+----------+
    | sys_id      | 系统号   |
    +-------------+----------+
    | product_id  | 产品号   |
    +-------------+----------+
    | huifu_id    | 商户号   |
    +-------------+----------+

* 接口调用

    * 以支付宝支付为例，根据接口文档说明，构建请求参数体

    .. code:: Python

        required_params = {
            "trade_type": "A_NATIVE",
            "trans_amt": "1.00",
            "goods_desc": "goods_desc",
        }

    * 调用接口

    .. code:: Python

        url = "https://api.huifu.com/v2/trade/payment/jspay"
        result = dg_sdk.request_post(url, required_params)



* 其他调用方式

除了通用的调用接口之外，SDK 还针对部分重要交易接口提供了一种更便捷的方法，

将一些默认、非必须、无需特别关注的参数传递，以及数据脱敏、加密处理进行了封装。

使用方法如下所示：

    .. code:: Python

        response = dg_sdk.ScanPayment.create(trade_type=trade_type,
                                             trans_amt=amount,
                                             goods_desc="goods_desc",
                                             **extra_info)
        print(response)

现支持模块功能列表如下

* 聚合扫码 ScanPayment
    * 订单创建 - create
    * 订单查询 - query
    * 退款创建 - refund
    * 退款查询 - query_refund
    * 反扫    - scan_pay
    * 关单    - close
    * 关单查询 - query_close
* 工具类 DGTools
    * 校验签名 - verify_sign
    * 获取银联用户标识 - union_user_id
    * 使用公钥加密敏感信息 - encrypt_with_public_key



详情参考SDK 接入说明_

.. _接入说明: https://paas.huifu.com/docs/partners/devtools/#/sdk_python
