ilcleme/payum-tinkl

Tinkl的Payum扩展。使用比特币支付

v1.1.4 2020-05-13 19:39 UTC

This package is auto-updated.

Last update: 2024-09-14 04:27:53 UTC


README

此Payum网关为您的所有Web应用程序提供接收比特币支付的功能。利用tinkl.it服务,该服务提供API以管理比特币支付。

Latest Stable Version Total Downloads Latest Unstable Version License Build Status

需求

此包的最低需求是在您的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许可证下发布。