coinbase_commerce
一个 dart 库,用于连接到 Coinbase Commerce API 并与其进行交互。
使项目能够无缝连接到 Coinbase 并接收付款!
有关更多详细信息,请访问 Coinbase API 文档。
要开始使用该库,您需要在 Coinbase Commerce 上注册,并从用户设置中获取您的 API_KEY。
接下来,创建一个 Coinbase 对象以与 API 交互
该对象包含指向 API 资源 Checkout、Charge 和 Invoice 的 Dart 类表示的链接。
每个请求都返回一个 CoinbaseResponseObject。
每个 CoinbaseResponseObject 都匹配 API 响应的 JSON 并将其转换为模型。
特点
- 创建支付
- 取消支付
- 查看支付
- 列出支付
- 查看支付状态
- 创建发票
- 查看发票
- 列出发票
- 创建结账
- 删除结账
- 查看结账
- 列出结账
另请参阅
用法
要创建 coinbase_commerce 对象的实例,您必须提供从 Coinbase Commerce 设置页面生成的 API。
Coinbase coinbase=Coinbase('YOUR API KEY HERE',debug:true);
支付
创建新的支付
ChargeObject charge = await coinbase.createCharge(
name: 'Coffee Charge',
description: '3 cups of Coffee',
currency: CurrencyType.usd,
pricingType: PricingType.fixedPrice,
amount: 40);
查看您之前创建的支付的状态
StatusObject status = StatusCheck().checkChargeStatus(image);
支付状态可以是(新建、待处理、已完成、已过期、
未解决、已解决、已取消、待退款、已退款、无)
如果状态返回为无,则表示未找到该支付记录。
查看特定支付的信息
ChargeObject charge = await coinbase.viewCharge('YOUR CHARGE ID HERE');
取消支付
ChargeObject charge= await coinbase.cancelCharge('YOUR CHARGE ID HERE');
列出与账户相关的所有支付
List<ChargeObject> charge = await coinbase.retrieveAllCharges;
结账
创建新的结账
CheckoutObject checkout = await coinbase.createCheckout(
description: 'description',
name: 'name',
pricingType: PricingType.noPrice,
currency: CurrencyType.usd);
查看特定结账的信息
CheckoutObject charge = await coinbase.viewCheckout('YOUR CHECKOUT ID HERE');
要更新先前创建的结账,请提供 ID 和新信息,
CheckoutObject checkout = await coinbase.updateCheckout(
checkoutID: 'c4357d83-42d4-4d7b-bc44-d0262b1efd25',
name: 'New Name here');
删除结账
CheckoutObject checkout= await coinbase.deleteCheckout('YOUR CHECKOUT ID HERE');
列出与账户相关的所有支付
List<CheckoutObject> checkoutList = await coinbase.retrieveAllCheckouts;
发票
创建新的发票
InvoiceObject invoice = await coinbase.createInvoice(
businessName: 'businessName',
customerEmail: '[email protected]',
customerName: 'Onuoha Silver',
currency: CurrencyType.usd,
amount: 20,
);
查看发票
InvoiceObject invoice = await coinbase
.viewInvoice('2a4aeb3e-a12b-4728-9c88-297dea5d2adb');
检索所有发票
List<InvoiceObject> invoice =await coinbase.retrieveAllInvoices;