<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[开源技术]]></title><description><![CDATA[分享汇付开源技术，欢迎各位开发者共创]]></description><link>https://paas.huifu.com/bbs/category/8</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 15:10:04 GMT</lastBuildDate><atom:link href="https://paas.huifu.com/bbs/category/8.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 May 2026 08:49:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[汇付支付斗拱 C# 语言 SDK（bspay-csharp-sdk）]]></title><description><![CDATA[C# SDK 简介为了提高客户接入的便捷性，本系统提供 SDK 方式接入，使用本 SDK 将极大的简化开发者的工作，开发者将无需考虑通信、签名、验签等，只需要关注业务参数的输入。
SDK 项目结构说明BasePaySdk -- SDK核心包, 包含通信, 加解签, 接口参数对象等BasePayDemo -- 接口调用/参数赋值演示demolib -- 第三方引用SDK 接入说明以下两种方式任选其一直接在项目.csproj文件中引用(version 版本建议使用当前最新版)    &lt;ItemGroup&gt;
      &lt;PackageReference Include="DG-CSHARP-SDK" Version="x.x.x" /&gt;
    &lt;/ItemGroup&gt;
直接下载源码文件, 将BasePaySdk(SDK核心包)源码放入项目中SDK 使用说明接口命名直接根据接口URL来命名, 方便用户使用, 需要使用某接口时, 可直接使用接口中文名, 或接口URL(驼峰格式)进行搜索, 找到对应的request, demo等
配置初始化初始化为全局配置(多商户模式下, 可初始化多份, 参考demo中方法)    InitMerConfig.init();
组装请求参数为了接口使用更加方便, 我们将参数粗分为必填/非必填, 必填直接放在类中, 非必填放在extendInfos字段中    // 2.组装请求参数
    V2MerchantBasicdataQueryRequest request = new V2MerchantBasicdataQueryRequest();
    // 请求流水号
    request.setReqSeqId(DateTime.Now.ToString("yyy-MM-dd HH.mm.ss.fff"));
    // 请求日期
    request.setReqDate(DateTime.Now.ToString("yyyyMMdd"));
    // 汇付客户Id
    request.setHuifuId("6666000108854952");

    // 设置非必填字段
    Dictionary&lt;string, object&gt; extendInfoMap = getExtendInfos();
    request.setExtendInfo(extendInfoMap);
发起API调用    // 3. 发起API调用
    Dictionary&lt;string, Object&gt; result = null;
    result = BasePayClient.postRequest(request, null);
]]></description><link>https://paas.huifu.com/bbs/topic/29/汇付支付斗拱-c-语言-sdk-bspay-csharp-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/29/汇付支付斗拱-c-语言-sdk-bspay-csharp-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:49:29 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱收银台 JavaScript 语言 SDK（dg-js-sdk）]]></title><description><![CDATA[收银台 js sdkRepository：https://github.com/huifurepo/dg-js-sdk简介收银台 SDK，是基于支付托管模式，商户需开通支付托管功能。SDK 支持支付宝、微信、云闪付等多种支付方式。同时能根据需求高定制化的配置页面样式。封装收银台页面以及独立支付按钮等功能组件，通过 npm 包的形式分发和引入，帮助商户无感对接支付。降低商户接入支付的复杂性。改变原有支付托管跳转页面的接入方式，只提供支付功能的组件或按钮，允许商户侧自己定制实现收银台页面。实现页面高定制化的需求。开发者通过创建 'checkout' element 创建页面组件，然后将其渲染到页面上，同时传入 callback 方法用来接收处理事件结果。默认包含支付宝，微信，云闪付三种支付方式。根据环境展示支付方式，支付宝内只展示支付宝，微信内只展示微信，云闪付只展示云闪付。系统默认浏览器展示支付宝与微信。H5页面效果图PC页面效果图流程说明如果是 ATU App 内浏览器访问页面。如果是微信 app，跳转授权页面，获取 authcode 下单。发起支付。（微信内走公众号支付流程，结果页）如果是支付宝 app，下单 A_native 正扫 方式，拉起，支付。如果是云闪付，跳转授权页面，获取 authcode，点击支付按钮，下单，发起支付。如果是手机系统自带浏览器，选择微信支付，跳转微信托管小程序，完成支付。H5 页面轮询获取支付结果，返回支付结果给调用方。选择支付宝支付，跳转支付宝，下单 A_native 正扫 方式，拉起，支付。H5 页面轮询获取支付结果，返回支付结果给调用方。不支持云闪付。如果是PC 端浏览器，展示支付方式对应的支付二维码，用户扫描二维码完成支付。支付逻辑同手机端相同。接入说明服务端对接支付sdk是基于支付托管模式的，商户需开通支付托管功能，并且商户服务端需对接预下单接口，并提供前端接口给前端调用。 接口文档参见 预下单接口（注意：H5/PC页面预下单选择要根据环境判断，如果是ATU app内预下单pre_order_type = 1； 如果是在商户自己App，或者是系统默认浏览器里面是通过跳转小程序的方式完成支付的，所以如果在非ATU环境下，选择微信的话 pre_order_type=3，选支付宝 预下单 pre_order_type= 2）前端对接准备1，远程下载并安装sdknpm install dg-element 
或下载sdk 包 1.0.02，引入sdkimport { HFPay } from 'dg-js-sdk';
3，判断环境如渲染单一支付按钮组件，需先判断当前环境是否支持/**
 * @Description: 判断是否是微信浏览器
 */
function isWXJS() {
  return navigator &amp;&amp; navigator.userAgent.toLowerCase().indexOf('micromessenger') &gt; 0;
}

/**
 * @Description: 判断是否是支付宝浏览器
 */
function isAliPayJS() {
  return navigator &amp;&amp; navigator.userAgent.toLowerCase().indexOf('alipayclient') &gt; 0;
}

/**
 * @Description: 判断是否是银联浏览器
 */
function isUnionPayJS() {
  return navigator &amp;&amp; navigator.userAgent.toLowerCase().indexOf('unionpay') &gt; 0;
}

/**
 * @Description: 判断是否是web环境
 */
function isWebEnv() {
  return !/Android|webOS|iPhone|iPod|Phone|Mobile|OpenHarmony|BlackBerry/i.test(navigator.userAgent);
}

4，定义预下单方法通过服务端接口获取预下单号，定义方法，供后续传入sdk，sdk 内会调用该方法获取预下单号。 以下为代码示例，具体调用以商户侧为准，但返回数据格式需与示例一致。需包含 pre_order_id、huifu_id、req_seq_id、req_dateconst createPreOrder = async function (selectedType) {
  // 增加loading 弹框
  document.getElementById('loadingMask').classList.remove('hide');
  const requestBody = {
    huifu_id: '6666000109133323',
    req_seq_id: Date.now().toString(),
    trans_amt: document.getElementById('element-amount').value,
    time_expire: '300',
    pre_order_type: '1',
    goods_desc: '无线鼠标静音无声笔记本台式电脑',
    hosting_data: {
      project_title: 'DEMO演示-无模板',
      project_id: 'PROJECTID2023092518673961',
      callback_url: 'http://paas.huifutest.com/checkout/demo/h5/jsSDKDemo.html',
    }
  };

  if (isAliPayJS() || isWXJS() || isUnionPayJS() ) {

    requestBody.pre_order_type = '1';
  } else if (selectedType === 'alipay') {
    requestBody.pre_order_type = '2';
    requestBody.app_data = {
      app_schema: 'app_schema',
    }
  } else if (selectedType === 'wechatpay') {
    requestBody.pre_order_type = '3';
    requestBody.miniapp_data = {
      need_scheme: 'Y',
    }
  }

  try {
    const response = await fetch(`https://checkoutbff.cloudpnr.com/v1/payment/pre/create`, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json', // 建議加上 Header
      },
      body: JSON.stringify(requestBody),
    });

    const data = await response.json();
    console.log('預下单结果:', data);
    // 隐藏loading 弹框
    document.getElementById('loadingMask').classList.add('hide');
    loadingFlag = false;
    return {
      pre_order_id: data.json_data.pre_order_id,
      req_seq_id: data.json_data.req_seq_id,
      huifu_id: data.json_data.huifu_id,
      req_date: data.json_data.req_date,
    };
  } catch (err) {
    // 隐藏loading 弹框
    $('#loadingMask').hide();
    console.error('預下單失敗:', err);
    // 將錯誤向上拋出，讓調用者也能處理
    throw err;
  }
}   
5，创建收银台 element，将组件渲染到页面上方法调用const { error, hfPay } = await HFPay();
hfPay.component(elementName,{
        createPreOrder: createPreOrder,
        callback:callback
    });
参数说明 |参数 | 类型 |说明 | |:--------|:------------|:-------------| | elementName | 字符串 | element 类型，checkout| | createPreOrder | function | 创建预下单的方法，需返回预下单号，具体参见调用示例| | callback | function | 回调方法，一般处理报错信息|调用示例：function callback(result) {
    console.log('callback  返回' + JSON.stringify(result));
    // {"type":"payment_data","data":{"transStat":"1","huifuId":"6666000109133323","reqSeqId":"1753150933645","reqDate":"20250722","respDesc":"操作成功"}}
}
let element = hfPay.component('checkout', 
    {
        createPreOrder: createPreOrder,
        callback:callback
    });
if (element) {
    element.mount('#element-container');
} else {
   	console.log(`App: SDK 未能創建組件`);
}	
6，创建单支付按钮 element，将组件渲染到页面上除了创建整个checkout组件，还可以创建单支付按钮组件，支持支付宝、微信、云闪付三种支付方式方法调用const { error, hfPay } = await HFPay();
hfPay.component(type, {
        createPreOrder: createPreOrder,
        callback:callback
    });
参数说明 |参数 | 类型 |说明 | |:--------|:------------|:-------------| | elementypetName | 字符串 | 单支付按钮类型，枚举值，alipay、wechatpay、unionpay| | createPreOrder | function | 创建预下单的方法，需返回预下单号，具体参见调用示例| | callback | function | 回调方法，一般处理报错信息|7，处理回调{ 
  "type":"payment_data",
  "data":{
    "transStat":"1",
    "huifuId":"6666000109133323",
    "reqSeqId":"1753150933645",
    "reqDate":"20250722",
    "respDesc":"操作成功"
  }
}   
常见问题Q1：如何给支付按钮定制样式A：可直接通过按钮class name 进行css 样式定制Q2：微信支付宝是怎么实现支付的A：如果在ATU 环境中，点击支付，页面会跳转到支付页面。如果在非ATU 环境中，点击支付，会拉起小程序进行后续支付操作。SDK版本记录版本日期版本说明v1.0.02025/8/28初始版本，支持微信支付宝云闪付支付]]></description><link>https://paas.huifu.com/bbs/topic/28/汇付支付斗拱收银台-javascript-语言-sdk-dg-js-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/28/汇付支付斗拱收银台-javascript-语言-sdk-dg-js-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:47:58 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱线下账单支付 vue 组件库（dg-bill-plugin）]]></title><description><![CDATA[线下账单支付 vue 组件库Repository：https://github.com/huifurepo/dg-bill-plugin简介解决重复造轮子的问题：提供一套专为手机端账单支付场景打造的UI 组件库，帮助开发者快速搭建账单页面，提升用户体验，无需担心适配，简化逻辑管理组件列表账单金额组件账单支付按钮组件账单 Banner 组件账单公告组件账单详情文本组件账单明细选择组件账单分割占位组件组件模拟器查看演示接入说明安装npm i @chinapnr/dg-bill-plugin
配置 easycom打开 /src/pages.json 进行配置  "easycom": {
    "autoscan": false,
    "custom": {
      "mx-(.*)": "@chinapnr/dg-bill-plugin/lib/$1/index.vue"
    }
  }
在 /src/App.vue 中添加组件样式@import '@chinapnr/dg-bill-plugin/lib/styles/matrix.scss';
在 /src/pages 文件夹内的任意 vue 文件中，直接使用组件库标签&lt;template&gt;
  &lt;mx-bill-notice&gt;缴费公告&lt;/mx-bill-notice&gt;
&lt;/template&gt;
]]></description><link>https://paas.huifu.com/bbs/topic/27/汇付支付斗拱线下账单支付-vue-组件库-dg-bill-plugin</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/27/汇付支付斗拱线下账单支付-vue-组件库-dg-bill-plugin</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:46:26 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱 Python 语言 SDK（dg-python-sdk）]]></title><description><![CDATA[DG Python SDKRepository：https://github.com/huifurepo/dg-python-sdkdougong sdk 工具类安装远程下载并安装：pip install dg-sdk简介为了提高客户接入的便捷性，本系统提供 SDK 方式介入，使用本 SDK 将极大的简化开发者的工作，开发者将无需考虑通信、签名、验签等，只需要关注业务参数的输入。使用方法初始化SDK未入网前，可使用以下测试商户参数进行开发测试import dg_sdk

huifu_id = "6666000108854952"
sys_id = "6666000108854952"
product_id = "YYZY"
private_key= "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCxtfk3rjwdpBV81WBy5jIMcDLFdvHckhjGXkmWfaBn7euPRyetEhS4inpr7EvQ5KDUXNBPljI2NVhG/LEGZKvau1MW8j3t7dJ3gWafuVGsCiLJHU79sIRHf11nKOTykX5WxB/7MMwRnZsECuaZyCk7WPuSAlznqbDJdrZTzHhjQzMhjto1qD6+vc0OxyaBFlOY9piBtEfecsvD+6GfQ8exFqwzblJm9iZPYw02DaeUDLFO9Umn7i7gShlj/1Hh8nEM7YitpF/p26o+MC9LHWbIjgzjvNVhSRVmbvWys+3S11Zm/vux6Yzfk0H3fqrksAKSEkLEtEoYKS4wKjHdecztAgMBAAECggEACy1g4WmqCks5tsJM8K0d1L5x0w2qJK9js4ZWpop8Pk0ulbJqAm6ysvCyxnr0Qc0/eFvmFjtiKRqt1LksATTvwjAqB7Vww7hDlpSi+cTUKDfy/CdFwpsJlt2h6E0gKUmRYq+vO0NUcn8xMs3ktyNpxHvSRtqzMTbxEZrP2PFxWPzUKGNyk53FTlJ64YCoGQqWeGhA5LO6QLPHlAxIrvRf9B5dtXQr5XZXVqS9MwjtsRPvQPWiFXxlzvhJRcL/wXehcNextHzpMMgX/idB3HIpIl6XXLKiFUR4rBDJIMiQjQvS6zz2l1zpiJ0vWujVa3IY+PNefRA2ttg1DeC19GYa2QKBgQDh7AkJ7wut7p4qYAdcFEDVhFgP5mnSRyOBGWmClHYE4RIFplPiv4yO0fttAjFuCg4Zaxq49BuV3zshWOEIr72VK6wMa6Z+QbfXNr/1DT6nW+ktgXTw2G9Ts/nZiMrpcsbl7qvwChfJAPvEwnyP7Ckmd9t2WbQisuYZc+Vu8znO7wKBgQDJXskTiExEipQSOcVH5cX/ExVyj9MoLjmJhy3WTTDzGafgEoOPOfej2ZCgF6gCwugXJr+rtgdOpASk8WPACaCePdjdgQ2NVhSfV3op3TtvhgAPf3iI/zCVkZM4I1iZs6KjdHstLCKyAzCFBsowkPbfZBlFX4eO7Bk6XcIZ6x2h4wKBgQDcH64C5s4bb2beZOhm2Dj/kU54V4l93+CBFjCOkXaYdG+p35DWWspqEcCHSt68l8F7FLdZxEbodTPY3w+L9iejI4UkKPN1CzVD1U2dR4VnbY85zmwRiuCVzsM/KCCE61dOi4ktfbgFGhc1dEYHuROzLo8/tlFkiajW3eyLeSM3MwKBgATL3iw57d8gEeDRQXKx9WJa+QLOjDAD0dkFwEC/e+/+Z3I93qZVsiFT+E7n4VeXfuG2SZB0eH4WCApJuZ+EWzAJtxWnkkQQjdMxyTYgD99bKLs1xRA2S9j0K7aFmQGoNrJ//sMXrwfgbZJtk/lOKqMthjCR0u/DjeJHA22MnRsTAoGADXzJs/of0JExvQWwfdIUnSEPs/PgTrrJpo+CAdXnagYHF+InrmvIcNwx6ZzIs+9aGwUt0d/YsSpJkHMfAtTwZjB7sSw8Cg5DZ179Jy3YkKhFPvZv2ZCANa5J74HZNQUrUUL6O4FouZUiLwFlq8YuUPRtkAjYwyS/jwUbhJzqZhQ="
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商户号接口调用以支付宝支付为例，根据接口文档说明，构建请求参数体required_params = {
    "trade_type": "A_NATIVE",
    "trans_amt": "1.00",
    "goods_desc": "goods_desc",
}
调用接口url = "https://api.huifu.com/v2/trade/payment/jspay"
result = dg_sdk.request_post(url, required_params)
其他调用方式除了通用的调用接口之外，SDK 还针对部分重要交易接口提供了一种更便捷的方法，将一些默认、非必须、无需特别关注的参数传递，以及数据脱敏、加密处理进行了封装。SDK 会自动生成必传参数：req_date 以及 req_seq_id，如不想使用SDK内部生成的值，直接传入即可。针对 huifu_id 以及 product_id，如不传，SDK会使用初始化时传入的值。使用方法如下所示：response = dg_sdk.ScanPayment.create(trade_type=trade_type,
                                     trans_amt=amount,
                                     goods_desc="goods_desc",
                                     **extra_info)
print(response)
现支持模块功能列表如下聚合扫码 ScanPayment聚合正扫 - create订单查询 - query退款创建 - refund退款查询 - refund_query反扫 - micro_create关单 - close关单查询 - close_query支付托管预下单 - preorder_create线上交易 OnlinePayment线上交易查询 - query线上交易退款 - refund线上退款查询 - refund_query银联APP支付 - union_app_create网银支付页面版 - web_page手机网页支付 - wap_page网银付款银行账户查询 - payer_query网银支付银行列表查询 - bank_list快捷代扣对象 QuickAndHoldPay支付申请 - apply快捷支付确认 - confirm快捷/代扣绑卡申请 - bind_card快捷/代扣绑卡确认 - bind_card_confirm快捷代扣解绑 - un_bind快捷代扣短信重发(v1) - sms_code快捷页面版 - page代扣 - with_hold_pay线上交易查询 - query退款 - refund退款查询 - refund_query快捷支付用户注册 - customer_reg余额支付 AcctPayment余额支付 - create余额支付交易查询 - query余额支付退款 - refund余额支付退款查询 - refund_query余额查询 - balance_query代发 Surrogate代发 - create出金交易查询 - query取现对象 Settlement取现 - create取现查询 - query延时交易对象 Delaytrans延时交易确认 - confirm延时交易确认查询 - confirm_query延时交易退款 - confirm_refund交易确认批量信息查询(v1) - query_confirm_list查询交易分账明细 - split_list银行卡分期 Installment银行卡分期支付签约 - sign二段式分期支付申请 - payment_apply二段式分期支付确认 - payment_confirm银行卡分期退款 - refund银行卡分期查询 - query商户对象 Merchant企业类型商户进件 - create_enterprise个体户类型商户进件 - create_individual商户基本信息修改 - modify商户详细信息查询 - query_merch_info新增总部 - add_headquarters修改总部 - modify_headquarters总部商户绑定&amp;解除 - bind_headquarters查询账户信息 - query_acct_info商户业务开通 - reg_busi_info商户业务开通修改 - modify_busi_info申请单状态查询 - query_apply_status商户图片资料上传(v1) - upload商户分账配置 - add_split_config商户分账配置查询 - query_split_config商户分期配置 - installment_config商户分期配置详情查询 - query_fenqi_config活动报名，支持微信 - reg_activity机构下属商户查询 - branch_mercust_query商户关系绑定 - branch_config机构列表查询 - branch_query分账用户对象 Member企业用户基本信息注册 - create_enterprise个人用户基本信息注册 - create_individual查询账户信息 - query_acct_info企业用户基本信息修改 - modify_enter_base_info个人用户基本信息修改 - modify_individual_base_info用户业务入驻 - reg_busi_info用户详情查询 - query_user_detail微信商户 WxMerchant微信商户配置 - config微信商户配置查询 - query_config微信实名认证 - realname微信实名认证状态查询 - query_realname_state证书登记 - add_cert_info微信特约商户进件申请 - apply_register_mer查询微信申请状态 - query_apply_reg修改微信结算帐号 - modify_settlement_info查询微信结算账户 - query_settlement_info微信关注配置 - subscribe_config微信关注配置查询 - query_subscribe_config支付宝商户 AliMerchant证书登记 - add_cert_info签约版-换取应用授权令牌 - exchange_app_auth_token签约版-申请当面付代签约 - apply_face2face_sign签约版-查询申请状态 - query_apply_order_status直付通-商户进件申请 - zft_apply_register_mer直付通-分账关系绑定&amp;解绑 - zft_split_config直付通-分账关系查询 - query_zft_split_config云闪付商户 UniPayMerchant云闪付活动商户入驻 - apply_register_mer云闪付活动商户入驻状态查询 - query_apply_reg云闪付活动商户详细信息查询 - query_mer_base_info云闪付活动列表查询 - query_activity_list云闪付活动报名 - enlist_activity云闪付活动报名进度查询 - query_enlish_activity_status花呗分期配置对象 Huabei支付宝间连证书上传 - add_ali_cert_info创建花呗分期商家贴息方案 - create_pcredit_solution上架/下架花呗分期贴息 - modify_solution_status更新花呗分期商家贴息方案 - modify_pcredit_solution查询花呗分期贴息 - query_hb_solution花呗活动详情查询 - query_hb_activity终端设备 Terminal新增终端设备 - add注销终端设备 - cancel绑定终端查询 - query_list智能终端mis接入 Cloudmis智能终端接入 - device_infoPOS 机交易 POS银行卡交易查询 - query工具类 DGTools校验签名 - verify_sign校验 webhook 返回报文签名 - verify_webhook_sign使用公钥加密敏感信息 - encrypt_with_public_key详情参考SDK 接入说明]]></description><link>https://paas.huifu.com/bbs/topic/26/汇付支付斗拱-python-语言-sdk-dg-python-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/26/汇付支付斗拱-python-语言-sdk-dg-python-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:44:58 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱商户 Vue 组件库（dg-dashboard-sdk）]]></title><description><![CDATA[汇付支付斗拱商户 Vue 组件库Repository：https://github.com/huifurepo/dg-dashboard-sdk本地开发指南tips:本项目仅适用于使用Vue2版本和element-ui2.15.71.1安装npm i
1.2将当前项目生成软链npm link 
1.3.在使用当前项目的demo中，执行如下命令，指向当前项目// 名称参考rollup.config.js中的output导出的name
npm link dg-element 
2.额外配置(保证demo与本项目用一套elementUI和vue，防止样式污染)当前项目中执行如下命令:   rm -rf node_modules/vue
   rm -rf node_modules/element-ui
   // 若使用组件库的项目与组件库项目为同一层级目录
   ln -s node_modules/vue ../demo/node_modules/vue
   ln -s node_modules/element-ui ../demo/node_modules/element-ui
4.重启demo和组件库5.发布流程nrm use npm //需要修改npmBuild中config.json文件
npm run release
使用已经发布的仓库假设发布的仓库名称为dg-element安装npm 安装npm i dg-element -S
引入完整引入在 main.js 中写入以下内容：import Vue from 'vue';
import DGElement from 'dg-element';
// 引入style样式
import 'dg-element/dist/dg-element.css';
import App from './App.vue';
import store from './store';

// 全局注册SDK
Vue.use(DGElement);

new Vue({
  el: '#app',
  render: h =&gt; h(App)
});

在页面中写入可引入相关组件：&lt;template&gt;
  &lt;div&gt;
   {/* 商户列表组件 */}
   &lt;HMerchantList&gt;&lt;/HMerchantList&gt;
  &lt;/div&gt;
&lt;/template&gt;
&lt;script&gt;
export default {
  name: 'MerchantList',
};
]]></description><link>https://paas.huifu.com/bbs/topic/25/汇付支付斗拱商户-vue-组件库-dg-dashboard-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/25/汇付支付斗拱商户-vue-组件库-dg-dashboard-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:42:01 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱 Java 语言 SDK（bspay-java-sdk-parent）]]></title><description><![CDATA[汇付支付斗拱 JAVA 语言 SDKRepository：https://github.com/huifurepo/bspay-java-sdk-parent欢迎使用 斗拱SDK for Java 。斗拱SDK for Java让您不用复杂编程即可访斗拱开放平台开放的各项能力，SDK可以自动帮您满足能力调用过程中所需的证书校验、加签、验签、发送HTTP请求等非功能性要求。 同时，斗拱dg-lightning-sdk提供聚合支付快速接入能力，能大大提升商户接入效率，可以参考dougong-java-lightning-sdk项目，主要包括交易创建、交易查询、交易关闭、交易退款、交易关闭查询、交易退款查询。环境要求斗拱SDK for Java 需要使用JKD 1.8或其以上版本。SDK接入准备提交商户材料完成进件及相关业务配置；登录控台获取/配置密钥，参见《商户密钥操作说明》；准备工作完成后，注意保存如下信息，后续将作为使用SDK的输入。商户的私钥、商户的公钥、汇付的公钥；安装依赖推荐通过Maven来管理项目依赖，您只需在项目的pom.xml文件中声明如下依赖    &lt;dependency&gt;
      &lt;groupId&gt;com.huifu.bspay.sdk&lt;/groupId&gt;
      &lt;artifactId&gt;dg-java-sdk&lt;/artifactId&gt;
      &lt;version&gt;3.0.2&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;com.huifu.dg.lightning.sdk&lt;/groupId&gt;
        &lt;artifactId&gt;dg-lightning-sdk&lt;/artifactId&gt;
        &lt;version&gt;1.0.3&lt;/version&gt;
    &lt;/dependency&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
        &lt;artifactId&gt;fastjson&lt;/artifactId&gt;
        &lt;version&gt;1.2.70&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
        &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt;
        &lt;artifactId&gt;httpclient&lt;/artifactId&gt;
        &lt;version&gt;4.5.2&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;dependency&gt;
        &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt;
        &lt;artifactId&gt;httpmime&lt;/artifactId&gt;
        &lt;version&gt;4.5.2&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;!-- util --&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
        &lt;artifactId&gt;commons-lang3&lt;/artifactId&gt;
        &lt;version&gt;3.6&lt;/version&gt;
    &lt;/dependency&gt;

    &lt;!-- okhttp --&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;com.squareup.okhttp3&lt;/groupId&gt;
        &lt;artifactId&gt;okhttp&lt;/artifactId&gt;
        &lt;version&gt;4.9.1&lt;/version&gt;
    &lt;/dependency&gt;
快速使用安装好依赖库保证运行环境没问题，可直接运行SDK demo，如调用商户详细信息查询正常返回说明运行环境配置成功；改商户配置信息(商户号、私钥)，看下单是否成功，如能成功，说明商户配置成功，否则请检查商户控台配置；部署服务端服务：安装并部署服务端服务到您的服务器，前端应用调用SDK；前端应用对接：前端应用通过网络请求获取到应用服务端从SDK获取的支付信息。在前端页面或者APP内处理后，发起支付。以下这段代码示例向您展示了使用斗拱SDK for Java调用一个API的3个主要步骤：初始化商户参数，完成Client实例并初始化。系统初始化时只需做一次；创建API请求对象并设置Model参数。必填参数用set方法，非必填参数用addExtendInfo()方法设置；发起请求并处理响应或异常。 public static void main(String[] args) throws Exception {
        // 1. 设置商户参数（全局只需设置一次）
        doInit(OppsMerchantConfigDemo.getMerchantConfig());
        // 2. 组装交易参数
        TradePaymentMicropayRequest request = new TradePaymentMicropayRequest();
        //请求日期
        request.setReqDate(DateTools.getCurrentDateYYYYMMDD());
        //请求流水号（保证唯一）
        request.setReqSeqId(SequenceTools.getReqSeqId32());
        //交易金额（单位元）
        request.setTransAmt("0.01");
        //条形码
        request.setAuthCode("287606928207260511");
        //商品描述
        request.setGoodsDesc("测试商品");
        //商户id
        request.setHuifuId("6666000103124174");
        // 3.拓展参数 (可选)
        // 该笔交易的异步通知地址（http/https异步通知地址，必须以virgo://开头）
        request.addExtendInfo("notify_url", "virgo://http://www.baidu.com");
        try {
            // 3. 发起API调用
            Map&lt;String, Object&gt; response = doExecute(request);
            System.out.println("返回数据:" + JSONObject.toJSONString(response));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
异步消息说明接口如果有异步返回，请参考斗拱API文档异步消息说明文档SDK文档首页]]></description><link>https://paas.huifu.com/bbs/topic/24/汇付支付斗拱-java-语言-sdk-bspay-java-sdk-parent</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/24/汇付支付斗拱-java-语言-sdk-bspay-java-sdk-parent</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:35:04 GMT</pubDate></item><item><title><![CDATA[汇付支付Dougong Lightning SDK（dg-lightning-sdk-java）]]></title><description><![CDATA[Dougong Lightning SDK（Java）项目说明Repository：https://github.com/huifurepo/dg-lightning-sdk-java概述Dougong Lightning SDK 以 V4 插件的形式提供极简聚合支付能力，遵循“化繁为简、必参极简 + 可选灵活扩展”的设计风格，通过统一的调用入口与对象化入参模型降低集成成本。主要特性统一入口：通过 Factory 创建客户端，所有能力从一个入口发起。必参极简：主交易字段最小化，低频参数走扩展注入。可插拔扩展：optional(key, value) 注入场景参数，保持模型稳定。统一管道：入参归一、扩展合并、序列化、路由与调用一体化。多场景覆盖：下单、查询、关单、退款、退款查询。包结构简述factory：统一入口与客户端创建（Factory）。biz.client：业务客户端与链式扩展（CommonPayClient、BasePayClient）。biz.net：网关请求、签名与路由（BasePayRequest）。models：对象化入参/响应与领域对象（如 TradePaymentCreateRequest、分账对象）。utils：基础工具与配置（BasePay、DateTools、SequenceTools 等）。安装与引入在上层业务模块的 pom.xml 中引入：&lt;dependency&gt;
  &lt;groupId&gt;com.huifu.dg.lightning.sdk&lt;/groupId&gt;
  &lt;artifactId&gt;dg-lightning-sdk&lt;/artifactId&gt;
  &lt;version&gt;1.0.3&lt;/version&gt;
&lt;/dependency&gt;
场景快速冒烟目标：零门槛验证“统一入口 + 极简扩展”是否接通。示例目录：查看 dougong-java-sdk项目的bspay-java-sdk-sample 项目操作步骤：在示例目录选择一个交易类型示例类（如 JSAPI/正扫/付款码）。设置主交易字段：req_date、req_seq_id、huifu_id、goods_desc、trans_amt、trade_type。注入通道扩展：将场景参数对象序列化为 JSON，使用 optional("method_expand", json) 注入；叠加收单能力：如需贴息/增值等，序列化为 JSON，使用 optional("tx_metadata", json) 注入。运行示例类的 main 或测试方法，观察返回的交易号/二维码/支付参数等核心结果。快速开始// 1. 初始化商户配置（建议从配置中心加载 MerConfig 后调用 BasePay.initWithMerConfig）
BasePay.initWithMerConfig(merConfig);

// 2. 组装必填入参（以聚合下单为例）
TradePaymentCreateRequest req = new TradePaymentCreateRequest();
req.setReqDate(DateTools.getCurrentDateYYYYMMDD());
req.setReqSeqId(SequenceTools.getReqSeqId32());
req.setHuifuId("6666xxxxxxxxxxx");
req.setGoodsDesc("商品描述");
req.setTransAmt("0.01");
req.setTradeType("A_JSAPI");

// 3. 通过工厂获取客户端并发起调用
Map&lt;String, Object&gt; resp = Factory.Payment.Common()
        .optional("notify_url", "https://your.notify/url")
        .create(req);
可选参数扩展使用链式的 optional(key, value) 在客户端注入低频参数，这些参数将与请求体合并并覆盖同名字段。下单统一入口与扩展模型单一入口：所有支付下单统一通过 CommonPayClient#create 发起交易抽象：用 trade_type 标识具体支付场景；用 method_expand 承载该场景的专有参数，二者组合即为“交易对象”的扩展模型。收敛策略：新增或变更任意交易场景时，仅需定义场景参数对象 → 序列化为 JSON → 注入 method_expand，无需新增接口或客户端方法。推荐用法：保持必参极简，扩展参数一律通过 optional("method_expand", json) 注入；若无扩展，传 "{}" 即可。调用示例：req.setTradeType("T_JSAPI");
String json = JSON.toJSONString(wxData);
Map&lt;String, Object&gt; resp = Factory.Payment.Common()
    .optional("method_expand", json)
    .create(req);
交易设计理念意向订单（主交易字段）：用统一的主字段表达订单意向与基础要素，如日期、流水号、商户、金额、商品等，保持稳定不随渠道变化。通道信息（trade_type + method_expand）：以 trade_type 选择支付通道/场景，以 method_expand 承载该通道的专有参数，二者组合定义“如何支付”。新增渠道能力只需新增专有参数对象并通过 method_expand 注入，无需改动统一入口。收单附加能力（tx_metadata）：用于承载收单侧扩展能力，如贴息、分期、优惠分账、增值等，以 JSON 字符串注入即可。三层划分：将一次交易抽象为“意向订单（主字段）+ 通道（trade_type+method_expand）+ 收单附加能力（tx_metadata）”。该划分确保主交易模型稳定、通道能力可插拔、收单扩展可累加，统一入口下自然演进。统一请求管道（简述）入参归一：将请求对象规范化为键值对。扩展合并：合并扩展参数，客户端注入覆盖同名字段。特殊序列化：对象型特殊字段统一序列化为 JSON 字符串。路径解析与调用：将功能码解析为网关路径，完成 HTTP 调用并返回统一结果。常用接口示例支付下单：CommonPayClient#create（TradePaymentCreateRequest）支付查询：CommonPayClient#query关单：CommonPayClient#close退款：CommonPayClient#refund退款查询：CommonPayClient#refundQuery开箱即用与场景示例项目定位：本包为 V4 极简插件，示例与运行入口位于主 SDK 项目。示例目录：bspay-java-sdk-parent/bspay-java-sdk-sample/src/main/java/com/huifu/bspay/sdk/demo/v4使用方式：在主 SDK 示例目录中选择对应交易类型的示例类，按需修改基础入参与扩展参数（trade_type + method_expand / tx_metadata），直接运行。配置说明：主 SDK 通过配置中心加载环境与密钥信息；如运行异常，请在主 SDK 项目中调整环境与商户配置。配置说明通过 BasePay.initWithMerConfig(MerConfig) 或 BasePay.initWithMerConfigs(Map&lt;String, MerConfig&gt;) 完成多商户配置加载（dg-lightning-sdk/src/main/java/com/huifu/dg/lightning/utils/BasePay.java:57-71）。调用时使用默认商户配置，或在请求方法中指定 merchantKey 选择商户配置（BasePayRequest 的对应重载）。BasePay.prodMode 控制目标环境域名（生产/联测/内部），统一封装于 BasePayRequest 调用路径解析。异常与错误许可与版本版本：1.0.3许可证：Apache-2.0（详见根 POM）]]></description><link>https://paas.huifu.com/bbs/topic/23/汇付支付dougong-lightning-sdk-dg-lightning-sdk-java</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/23/汇付支付dougong-lightning-sdk-dg-lightning-sdk-java</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:33:17 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱 PHP 语言 SDK（bspay-php-sdk）]]></title><description><![CDATA[汇付支付斗拱 PHP 语言 SDK简介Repository：https://github.com/huifurepo/bspay-php-sdk为了提高客户接入的便捷性，本系统提供 SDK 方式介入，使用本 SDK 将极大的简化开发者的工作，开发者将无需考虑通信、签名、验签等，只需要关注业务参数的输入。下载地址SDK下载版本记录版本日期版本说明v1.0.02021/05/06初始版本v1.0.12021/08/23实现通用接口请求客户端演示demo，实现部分支付功能的封装v1.1.02021/10/12对接新版斗拱 API 接口v1.1.12021/11/02封装余额支付、取现、代发模块对象v1.1.22021/12/081. 封装快捷代扣、延时交易、商户管理模块；2. 优化 huifuid 方法参数，默认从配置文件中读取v1.1.32021/12/131. 优化 huifuid 方法参数2. 调整Demo 中 config.json 公私字段的命名3. 优化接口通讯安全处理v1.1.42021/12/211. 修复扫码接口地址问题2. 修复扫码支付模块支付类型对象数据格式化问题v1.1.52022/01/191. 封装微信、支付宝、云闪付商户管理模块对象；2. 封装分账用户管理模块对象v1.1.62022/04/211. 封装支付宝花呗分期模块对象；2. 封装终端报备模块对象；3. 封装银行卡分期模块对象；4. 封装交易取现、出金交易查询模块对象；5. 封装智能终端模块对象；6. 封装交易确认模块对象；7. 升级商户管理、快捷代扣、线上交易的部分接口为V2版本；v1.1.72022/05/051. 实现机构列表查询功能封装；2. 实现商户关系绑定功能封装；3. 实现机构下属商户查询功能封装；4. 升级商户图片上传接口为V2版本；v1.1.82022/05/121. 实现支付托管H5、PC、支付宝小程序、微信小程序预下单功能封装；2. 补充验签工具使用说明；v1.1.92022/07/141. 网银支付页面版、手机网页支付、快捷支付页面版接口只加签不验签；2. 商户图片上传接口免加解签；3. 优化预下单功能封装；v2.0.02022/09/161. 类名按资源路径生成；2. demo中字段说明更详细；版本要求PHP 版本 5.6 及以上SDK 包结构说明BsPaySdk 目录下内容为待添加到项目中的文件；BsPayDemo 目录下为示例项目，供接入时参考使用；使用方法1. 将 BsPaySdk 目录下文件内容整体复制到您的项目工程内2. 在您的项目创建 SDK 初始化的入口文件，完成如下配置：2.1 进行相关环境及调试参数的配置 # 设置是否调试模式，不配置默认关闭：false
 define("DEBUG", true);
 
 # 设置调试日志路径，不配置默认为SDK同级的log目录下
 define("LOG", dirname(__FILE__)."/log");
 
 # 设置生产模式，不配置默认生产模式：true，设置为 false 时调用联调测试环境
 define("PROD_MODE", true);
2.2 完成 sdk 初始化 # 加载 SDK 初始化文件
 require_once  dirname(__FILE__). "/../BsPaySdk/init.php";
2.3 完成系统参数的导入 # 从文件导入商户系统参数
 BsPay::init(dirname(__FILE__). '/config/config_merch_default.json', false);
 
 # sdk也支持追加多套系统参数，并可以在调用接口时进行切换，适用于下辖多商户的系统接入
 BsPay::init(dirname(__FILE__). '/config/config_merch_2.json', false, "merchantKey2");
 BsPay::init(dirname(__FILE__). '/config/config_merch_3.json', false, "merchantKey3");
 ...
2.4 以上内容，建议参考 SDK Demo 中 loader.php 文件内的代码写法3. SDK 调用方法（一）：使用接口 request 实例调用，以商户业务开通接口为例3.1 导入前一步实现的 SDK 初始化文件# 导入初始化内容
require_once dirname(__FILE__) . "/loader.php";
require_once  dirname(__FILE__). "/../BsPaySdk/request/V2MerchantBusiOpenRequest.php";
3.2 根据接口文档说明，创建对应请求的参数数据体 # 请求必填参数
 $request = new V2MerchantBusiOpenRequest();
 // 请求流水号
 $request-&gt;setReqSeqId(date("YmdHis").mt_rand());
 // 请求日期
 $request-&gt;setReqDate(date("Ymd"));
 // 汇付ID
 $request-&gt;setHuifuId("6666000104778898");
 // 渠道商汇付ID
 $request-&gt;setUpperHuifuId("6666000003080000");
 
 # 请求拓展参数 (可选)
 $extendInfoMap = getExtendInfos() ;
 $request-&gt;setExtendInfo($extendInfoMap);
3.3 调用接口# 创建请求Client对象，调用接口
 $client = new BsPayClient();
 $result = $client-&gt;postRequest($request);
3.4 处理返回结果# 成功/失败应答的处理
if (!$result || $result-&gt;isError()){  //失败处理
    var_dump($result -&gt; getErrorInfo());
} else {    //成功处理
    var_dump($result);
}
3.5 以上内容，建议参考 SDK Demo 中 V2MerchantBusiOpenRequestDemo.php 文件内的代码写法4. SDK 调用方法（二）：使用集中传参方式调用，以商户业务开通接口为例除基于接口 request 实例调用外，另提供一种集中传参方式，拓展适应不同需求；4.1 导入前一步实现的 SDK 初始化文件# 导入初始化内容
require_once dirname(__FILE__) . "/loader.php";
require_once  dirname(__FILE__). "/../BsPaySdk/request/V2MerchantBusiOpenRequest.php";
4.2 根据接口文档说明，创建对应请求的参数数据体 # 请求实例
 $request = new V2MerchantBusiOpenRequest();
 
 // 请求参数，不区分必填和可选，按照 api 文档 data 参数结构依次传入
 $param = array(
     "funcCode" =&gt; $request-&gt;getFunctionCode(),
     "params" =&gt; array(
         "req_seq_id" =&gt; date("YmdHis").mt_rand(),
         "req_date" =&gt; date("Ymd"),
         "huifu_id" =&gt; "6666000104778898",
         "upper_huifu_id" =&gt; "6666000003080000",
         "balance_pay_config" =&gt; json_encode(array(
             "fee_rate" =&gt;"2",
             "fee_fix_amt" =&gt;"1",
         ),JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES),
     ),
 );
4.3 调用接口# 创建请求Client对象，调用接口
 $client = new BsPayClient();
 $result = $client-&gt;postRequest($param);
4.4 处理返回结果# 成功/失败应答的处理
if (!$result || $result-&gt;isError()){  //失败处理
    var_dump($result -&gt; getErrorInfo());
} else {    //成功处理
    var_dump($result);
}
5 验签工具（BsPayTools.php）校验签名 - verifySign_sort（此方法为返回报文签名验签，将返回data 按字母顺序排序后组成json 字符串，依据 RSA2 算法使用公钥进行验签示例：$data = array(
    'bank_code' =&gt;'10000',
    'bank_message' =&gt;'Success',
    'hf_seq_id' =&gt;'002900TOP2B220511142822P984ac132ff400000',
    'huifu_id' =&gt;'6666000108854952',
    'qr_code' =&gt;'https://qr.alipay.com/bax04465kcijedllqhuq004b',
    'req_date' =&gt;'20220511',
    'req_seq_id' =&gt;'202205111428211506200',
    'resp_code' =&gt;'00000100',
    'resp_desc' =&gt;'下单成功',
    'trade_type' =&gt;'A_NATIVE',
    'trans_amt' =&gt;'1.00',
    'trans_stat' =&gt;'P',
);
$sign = "OUotiU75VW7SdEwLIZX3gAqSgZk8hCjE7r01WQr8mDdm23B+zd58r8HNWvE9BWV+mTwZ2iAOSuht9SOGM+spSYFANa3VIqMZzGim3y4aZmptQTTptNcclocsWyocn78efdAuTcGvf5dhUc6/Ue1oYV+BVhphYPmkKUKfxpEvBEvw/vlpsCu0I0Dx/k7kN6IaxY6mODypFmDtnEaZbkGaxbh8yxH1lJDn5/91YfD6vpK+sRJXiVXLzDK13BPAjQ3RAlFUxHJ8LPJbWQQpABQ94Gd1TTc/bfOluqUwJJbofC7WZiIOW6MKsa9gL5Y6lmbqFcMBKfvexJ0SlRFLWvSkQg==";
$merConfig = BsPay::getConfig();
$result = BsPayTools::verifySign_sort($sign,$data,$merConfig-&gt;rsa_huifu_public_key);
校验 webhook 返回报文签名 - verify_webhook_sign（此方法为异步回调验签方法，将返回 data 字符串与商户配置的key 组合后进行md5计算，返回的md5值与回调sign的比较结果示例：$data = array(
    'bank_code' =&gt;'10000',
    'bank_message' =&gt;'Success',
    'hf_seq_id' =&gt;'002900TOP2B220511142822P984ac132ff400000',
    'huifu_id' =&gt;'6666000108854952',
    'qr_code' =&gt;'https://qr.alipay.com/bax04465kcijedllqhuq004b',
    'req_date' =&gt;'20220511',
    'req_seq_id' =&gt;'202205111428211506200',
    'resp_code' =&gt;'00000100',
    'resp_desc' =&gt;'下单成功',
    'trade_type' =&gt;'A_NATIVE',
    'trans_amt' =&gt;'1.00',
    'trans_stat' =&gt;'P',
);
$sign = 'dcc64089c44ea77cfde785de4cfa97ba';
$key = 'test_key';
$result = BsPayTools::verify_webhook_sign($sign,$data,$key);
]]></description><link>https://paas.huifu.com/bbs/topic/22/汇付支付斗拱-php-语言-sdk-bspay-php-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/22/汇付支付斗拱-php-语言-sdk-bspay-php-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:30:09 GMT</pubDate></item><item><title><![CDATA[汇付支付 Skill 产品包（dg-payment-skills）]]></title><description><![CDATA[汇付支付 Skill 产品包Repository: https://github.com/huifurepo/dg-payment-skills这是一个面向第三方客户的 Huifu 接入 Skill 包，用来帮助开发者借助 AI 工具完成汇付支付 / 斗拱 SDK 接入开发。README 按 产品线 -&gt; 开发任务 -&gt; 技术栈 导航，先帮你定位入口，再进入对应文档。当前仓库已收敛为单 Skill：正式 Skill：huifu-pay-integration服务端技术栈：Java、PHP；C#、Python、Go 保留入口说明前端支付组件：Node.js / Browser产品能力主线：聚合支付、托管支付、前端支付组件选择建议：优先使用聚合支付，接入更快、更轻量；当你需要托管收银台、项目制预下单或前端 checkout 能力时，再进入托管支付和前端支付组件路径。如何开始下文中的 references/... 均指 huifu-pay-integration/references/...。1. 先按产品线定位产品线适合什么场景从这里开始汇付支付集成（总入口）第一次接入汇付，需要先判断产品线、开发任务和阅读顺序huifu-pay-integration/SKILL.md聚合支付标准支付场景，想尽快完成服务端接入references/aggregation-quickstart.md托管支付（服务端）需要项目制预下单、托管收银台、查询 / 退款闭环references/hostingpay-quickstart.md前端支付组件需要在商户自有页面嵌入 checkout 或单支付按钮references/checkout-js.md2. 再按开发任务进入开发任务聚合支付托管支付 / 前端支付组件初始化 / 公共配置references/aggregation-base.mdreferences/hostingpay-base.md下单 / 预下单references/aggregation-order.mdreferences/hostingpay-preorder.md查询 / 关单 / 对账references/aggregation-query.mdreferences/hostingpay-query.md退款references/aggregation-refund.mdreferences/hostingpay-refund.md收银台组件接入 / 单支付按钮不适用references/checkout-js.md3. 最后按技术栈落地技术栈推荐入口说明Javareferences/shared-server-sdk-matrix.md聚合支付和托管支付都有稳定基线PHPreferences/shared-server-sdk-matrix.md聚合支付核心主链路和托管支付核心场景已覆盖C# / Python / Goreferences/shared-server-sdk-matrix.md当前只保留入口说明Node.js / Browserreferences/shared-frontend-sdk-matrix.md前端 JS SDK 能力矩阵Node.js / Browserreferences/checkout-js.md嵌入 checkout / 单支付按钮的实际入口产品线说明聚合支付聚合支付是一条服务端主线，适合标准支付接入和快速上线。推荐阅读顺序：references/aggregation-quickstart.md
  -&gt; references/aggregation-base.md
  -&gt; references/aggregation-order.md
  -&gt; references/aggregation-query.md
  -&gt; references/aggregation-refund.md（按需）
托管支付托管支付的服务端主线负责 SDK 初始化、预下单、查询、关单、对账和退款。推荐阅读顺序：references/hostingpay-quickstart.md
  -&gt; references/hostingpay-base.md
  -&gt; references/hostingpay-preorder.md
  -&gt; references/hostingpay-query.md
  -&gt; references/hostingpay-refund.md（按需）
前端支付组件前端支付组件用于在商户自定义页面中嵌入 checkout 组件或单支付按钮，让商户自己控制页面布局、品牌样式和交互流程。必须注意：前端 callback 不等于最终支付成功，最终订单状态仍应由服务端查询或异步通知确认。推荐主链路：服务端预下单：references/hostingpay-preorder.md
  -&gt; 前端渲染 checkout / 按钮：references/checkout-js.md
  -&gt; 服务端最终确认：references/hostingpay-query.md + references/hostingpay-async-webhook.md
共享资料层这些共享资料不再分散在多个 Skill 中重复维护：资料作用references/shared-signing-v2.mdV2 签名规则references/shared-async-notify.md接口 notify_url 异步通知规则references/shared-webhook-signing.md控台 Webhook 终端密钥与 MD5 验签规则references/shared-request-header-policy.md请求头与 skill 来源字段规则references/shared-server-sdk-matrix.md服务端多语言矩阵references/shared-frontend-sdk-matrix.md前端 JS SDK 矩阵references/shared-versioning-policy.md版本治理规则references/shared-release-checklist.md发布检查清单Skill 内部结构huifu-pay-integration/
├── SKILL.md
├── agents/
│   └── openai.yaml
└── references/
    ├── shared-*.md
    ├── aggregation-*.md
    ├── hostingpay-*.md
    └── checkout-js-*.md
当前版本事实项目当前口径Skill 包版本1.2.0托管支付 Java SDK 常量版本dg-java-sdk 3.0.36聚合支付 Java SDK 版本dg-lightning-sdk 1.0.5PHP SDK 包huifurepo/dg-php-sdk 2.0.26前端收银台 JS SDK@dg-elements/js-sdk，接入时以项目锁定版本为准文档说明优先阅读 huifu-pay-integration/SKILL.md 与 references/ 下的场景文档服务端接入优先从 references/shared-server-sdk-matrix.md 和对应 *-base.md 开始前端接入优先从 references/shared-frontend-sdk-matrix.md 和 references/checkout-js.md 开始AI 生成接入代码时，不应自行猜测商户参数、项目配置或最终支付状态HUIFU_RSA_PRIVATE_KEY、HUIFU_RSA_PUBLIC_KEY 等敏感配置只能留在服务端官方技术支持如需官方技术支持或接入答疑，可通过以下官方渠道联系：客服电话：400-820-2819官方邮箱：cs@huifu.com企业微信技术支持群（仅用于接入答疑 / 技术支持）：]]></description><link>https://paas.huifu.com/bbs/topic/21/汇付支付-skill-产品包-dg-payment-skills</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/21/汇付支付-skill-产品包-dg-payment-skills</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 08:15:45 GMT</pubDate></item><item><title><![CDATA[汇付支付斗拱 Go 语言 SDK（bspay-go-sdk）]]></title><description><![CDATA[汇付支付斗拱 Go 语言 SDK 简介Repository：https://github.com/huifurepo/bspay-go-sdk为了提高客户接入的便捷性，本系统提供 SDK 方式接入，使用本 SDK 将极大的简化开发者的工作，开发者将无需考虑通信、签名、验签等，只需要关注业务参数的输入。
SDK 项目结构说明BsPaySdk -- SDK核心包, 包含通信, 加解签, 接口参数对象等config -- 商户配置ut -- 接口调用/参数赋值演示demoSDK 接入说明以下两种方式任选其一直接在go.mod中引用(require github.com/huifurepo/bspay-go-sdk/BsPaySdk [version])直接下载源码文件, 将BsPaySdk(SDK核心包)源码放入项目中SDK 使用说明接口命名直接根据接口URL来命名, 方便用户使用, 需要使用某接口时, 可直接使用接口中文名, 或接口URL(驼峰格式)进行搜索, 找到对应的struct, demo等
配置初始化初始化为全局配置(多商户模式下, 可初始化多份)第一个参数true:生产环境, false:测试环境第二个参数商户公私钥等信息配置dgSDK, _ := BsPaySdk.NewBsPay(false, "./config/config.json")
组装请求参数为了接口使用更加方便, 我们将参数粗分为必填/非必填, 必填直接放在结构体内, 非必填放在结构体的map字段ExtendInfos中	dgReq := BsPaySdk.V2MerchantBasicdataQueryRequest{
		// 请求流水号
		ReqSeqId: tool.GetReqSeqId(),
		// 请求日期
		ReqDate: tool.GetCurrentDate(),
		// 汇付客户Id
		HuifuId: "6666000108854952",
	}
	// 设置非必填字段
	dgReq.ExtendInfos = getExtendInfos()
发起API调用resp, err := dgSDK.V2MerchantBasicdataQueryRequest(dgReq)
]]></description><link>https://paas.huifu.com/bbs/topic/20/汇付支付斗拱-go-语言-sdk-bspay-go-sdk</link><guid isPermaLink="true">https://paas.huifu.com/bbs/topic/20/汇付支付斗拱-go-语言-sdk-bspay-go-sdk</guid><dc:creator><![CDATA[其宝]]></dc:creator><pubDate>Wed, 13 May 2026 07:09:44 GMT</pubDate></item></channel></rss>