@bitgo/json-payment-protocol

中文文档
0.1.0发布于 2022/08/05MITCommonJS近 30 天下载 3.3万

检索 JSON 付款请求和提交付款的简单接口

中文使用文档
文档目录5 节
  1. JSON 支付协议接口
  2. 开始
  3. 使用量
  4. 选项
  5. URI 格式

JSON 支付协议接口

这是JSON支付协议接口的第一个版本. 如果你对规格本身有疑问, 查看文档。 。 。 .

开始

npm install json-payment-protocol

使用量

我们支持召回和承诺。 对于承诺,仅在函数名的结尾添加了Async. 注意注意注意你何时能广播付款. 在多数情况下,在从服务器收到成功通知之前广播付款会导致发送者付款失败. 发货人将承担再次支付交易费以取回资金的费用.

回电

const JsonPaymentProtocol = require('json-payment-protocol');
const paymentProtocol = new JsonPaymentProtocol();

let requestUrl = 'bitcoin:?r=https://test.bitpay.com/i/Jr629pwsXKdTCneLyZja4t';

paymentProtocol.getRawPaymentRequest(requestUrl, function (err, response) {
  if (err) {
    return console.log('Error retrieving payment request', err);
  }
  paymentProtocol.parsePaymentRequest(response.rawBody, response.headers, function (err, paymentRequest) {
    if (err) {
      return console.log('Error parsing payment request', err);
    }

    console.log('Payment request retrieved');
    console.log(paymentRequest);

    //TODO: Create the rawTransaction and sign it in your wallet instead of this, do NOT broadcast yet
    let currency = 'BTC';
    let signedRawTransaction = '02000000010c2b0d60448d5cdfebe222014407bdb408b8427f837447484911efddea700323000000006a47304402201d3ed3117f1968c3b0a078f15f8462408c745ff555b173eff3dfe0a25e063c0c02200551572ec33d45ece8e64275970bd1b1694621f0ed8fac2f7e18095f170fe3fe012102d4edb773e3bd94e1251790f5cc543cbfa76c2b0abad14898674b1c4e27176ef2ffffffff02c44e0100000000001976a914dd826377dcf2075e5065713453cfad675ba9434f88aca070002a010000001976a914e7d0344ba970301e93cd7b505c7ae1b5bcf5639288ac00000000';

    paymentProtocol.sendPayment(currency, signedRawTransaction, paymentRequest.paymentUrl, function(err, response) {
      if (err) {
        //DO NOT BROADCAST PAYMENT
        return console.log('Error sending payment to server');
      }
      console.log('Payment sent successfully');
      //TODO: Broadcast payment to network here
    });
  });
});

承诺

const JsonPaymentProtocol = require('json-payment-protocol');
const paymentProtocol = new JsonPaymentProtocol();

let requestUrl = 'bitcoin:?r=https://test.bitpay.com/i/Jr629pwsXKdTCneLyZja4t';
paymentProtocol
  .getRawPaymentRequestAsync(requestUrl)
  .then((response) => {
    return paymentProtocol.parsePaymentRequestAsync(response.rawBody, response.headers);
  })
  .then((paymentRequest) => {
    console.log('Payment request retrieved');
    console.log(paymentRequest);
    
    //TODO: Create the rawTransaction and sign it in your wallet instead of this, do NOT broadcast yet
    let currency = 'BTC';
    let signedRawTransaction = '02000000010c2b0d60448d5cdfebe222014407bdb408b8427f837447484911efddea700323000000006a47304402201d3ed3117f1968c3b0a078f15f8462408c745ff555b173eff3dfe0a25e063c0c02200551572ec33d45ece8e64275970bd1b1694621f0ed8fac2f7e18095f170fe3fe012102d4edb773e3bd94e1251790f5cc543cbfa76c2b0abad14898674b1c4e27176ef2ffffffff02c44e0100000000001976a914dd826377dcf2075e5065713453cfad675ba9434f88aca070002a010000001976a914e7d0344ba970301e93cd7b505c7ae1b5bcf5639288ac00000000';

    return paymentProtocol.sendPaymentAsync(currency, signedRawTransaction, paymentRequest.paymentUrl);
  })
  .then((response) => {
    console.log('Payment sent successfully');
    //TODO: Broadcast payment to network here
  })
  .catch((err) => {
    //DO NOT BROADCAST PAYMENT
    return console.log('Error processing payment request', err);
  });

选项

转到 new JsonPaymentProtocol() 因此,如果您需要使用代理或设置任何其他请求。js的旗帜可以在即时请求时包含。 例如:

new JsonPaymentProtocol({
  proxy: 'socks://mySocksProxy.local'
});

URI 格式

你可以提供其中之一 bitcoin:?r=https://bitpay.com/i/invoice 格式或 https://bitpay.com/i/invoice 直接说.

版本与发布记录

@bitgo/json-payment-protocol 共发布 1 个版本,首次发布于 2022/08/05;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.1.0latest2022/08/054 年前

关于 @bitgo/json-payment-protocol 的常见问题

@bitgo/json-payment-protocol 是什么?

检索 JSON 付款请求和提交付款的简单接口

如何安装 @bitgo/json-payment-protocol?

在项目目录运行 npm install @bitgo/json-payment-protocol,或使用 pnpm add / yarn add / bun add。

@bitgo/json-payment-protocol 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/bitgo__json-payment-protocol 是否存在。

@bitgo/json-payment-protocol 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bitgo/json-payment-protocol 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=6.9.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bitgo/json-payment-protocol 可以商用吗?

@bitgo/json-payment-protocol 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bitgo/json-payment-protocol 的下载量有多少?

根据 npm 官方下载统计,@bitgo/json-payment-protocol 在 2026/10/08 – 2026/11/06 这 30 天内被下载 33,224 次,日均约 1,107 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bitgo/json-payment-protocol 还在维护吗?

最新版本 0.1.0 发布于 2022/08/05(4 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/08/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。