ilcleme / payum-tinkl
Tinkl的Payum扩展。使用比特币支付
v1.1.4
2020-05-13 19:39 UTC
Requires
- payum/core: ^1.5
Requires (Dev)
- php-http/guzzle6-adapter: ^1.0
- phpunit/phpunit: ^7.0
README
此Payum网关为您的所有Web应用程序提供接收比特币支付的功能。利用tinkl.it服务,该服务提供API以管理比特币支付。
需求
此包的最低需求是在您的Web服务器上安装PHP 7.1,以及将与网关直接安装的Payum。
安装
要安装包,您可以使用简单的Composer命令。
$ composer require ilcleme/payum-tinkl
配置
通过Composer安装后,必须进行配置并将其添加到Payum中的网关。为此,请按照以下步骤操作
- 在Payum中注册网关;
- 配置您的凭证(您还可以启用沙盒环境);
- 配置任何其他选项(非必需)
以下PHP脚本是配置网关的示例,您可能需要修改它以在您的Web应用程序中配置。如果您从未使用过Payum或不知道其规则,我建议您阅读Github上的文档。
<?php //config.php include_once "vendor/autoload.php"; use Payum\Core\PayumBuilder; use Payum\Core\Payum; use Payum\Core\Model\Payment; $paymentClass = Payment::class; /** @var Payum $payum */ $payum = (new PayumBuilder()) ->addDefaultStorages() ->addGatewayFactory('tinkl', function ($config, $coreGatewayFactory){ return new \IlCleme\Tinkl\TinklGatewayFactory($config, $coreGatewayFactory); }) ->addGateway('tinkl', [ 'factory' => 'tinkl', 'clientId' => 'aClientId', 'token' => 'aToken', 'sandbox' => true, // switch to false to use in production environment ]) ->getPayum();
tinkl.it支付页面的过期时间也可以配置,只需在支付详细信息中输入它,这样:tinkl.it API使用的所有其他参数将由网关本身计算。
<?php // prepare.php include __DIR__.'/config.php'; $gatewayName = 'tinkl'; /** @var \Payum\Core\Payum $payum */ $storage = $payum->getStorage($paymentClass); $payment = $storage->create(); $payment->setNumber(uniqid()); $payment->setCurrencyCode('EUR'); $payment->setTotalAmount(500); // Price should be passed as integer but multiplied by 100 $payment->setDescription('A description'); $payment->setClientId('anId'); $payment->setClientEmail('foo@example.com'); $payment->setDetails([ 'time_limit' => 60 // Value accepted in range from 60 to 900 (1 to 15 minutes), default to 900 ]); $storage->update($payment); $captureToken = $payum->getTokenFactory()->createCaptureToken($gatewayName, $payment, 'done.php'); header("Location: ".$captureToken->getTargetUrl());
测试
要运行包测试,您需要安装开发需求(测试工具)。使用此Composer别名或从测试文件夹运行phpunit。
composer test
贡献
欢迎提交拉取请求。对于主要更改,请首先打开一个问题来讨论您想要更改的内容。请确保根据需要更新测试。
许可
此扩展在MIT许可证下发布。