crowdproperty/modulr-hmac-php-client

0.4.1 2020-11-23 09:38 UTC

README

一个处理Modulr API HMAC身份验证的PHP客户端

安装

安装通过Composer完成

composer require crowdproperty/modulr-hmac-php-client

Laravel

更新composer后,将服务提供者添加到config/app.php文件中的providers数组

'providers' => [
    ...
    CrowdProperty\ModulrHmacPhpClient\ModulrServiceProvider::class,
    ...
];

使用以下Artisan命令将包配置发布到您的应用程序

php artisan vendor:publish --provider="CrowdProperty\ModulrHmacPhpClient\ModulrServiceProvider" 

其他框架/无框架

您可以在不使用Laravel的情况下使用CrowdProperty\ModulrHmacPhpClient。例如,您可以直接调用ModulrApi

$api = new CrowdProperty\ModulrHmacPhpClient\ModulrApi();

$api->setApiPath('https://api-sandbox.modulrfinance.com/api-sandbox')
    ->setApiKey('API_KEY')
    ->setHmacSecret('HMAC_SECRET')
    ->setDebugMode(true);

...

$api->customers()->createCustomer((string) $customer);

配置

发布命令将生成位于您的config文件夹中的modulr配置文件。您可以在.env文件中更改这些值。

可用的配置选项包括

MODULR_API_NAME - 不需要

MODULR_API_KEY - 由Modulr Finance提供的API密钥

MODULR_HMAC_SECRET - 由Modulr Finance提供的HMAC密钥

MODULR_ENVIRONMENT - 使用哪个环境。默认为sandbox

MODULR_DEBUG - 启用调试模式。默认为false

##示例

<?php
namespace App\Http\Controllers;

use CrowdProperty\ModulrHmacPhpClient\Facades\ModulrApi;
use CrowdProperty\ModulrHmacPhpClient\Model\Address;
use CrowdProperty\ModulrHmacPhpClient\Model\Associate;
use CrowdProperty\ModulrHmacPhpClient\Model\Customer;

class DemoController extends BaseController
{

    public function __construct()
    {
        $customer = new Customer();

        $customer->setTcsVersion(1);
        $customer->setExpectedMonthlySpend(0);
        $customer->setType('INDIVIDUAL');

        $associate = new Associate();
        $associate->setVerificationStatus('EXVERIFIED');
        $associate->setEmail('email@emailaddress.com');
        $associate->setPhone('07777777777');
        $associate->setFirstName('First');
        $associate->setLastName('Last');
        $associate->setDateOfBirth('1970-01-18');
        $associate->setType('INDIVIDUAL');
        $associate->setApplicant(true);

        $address = new Address();
        $address->setAddressLine1('Address1');
        $address->setAddressLine2('Address2');
        $address->setPostCode('Postcode');
        $address->setPostTown('town');
        $address->setCountry('GB');

        $associate->setHomeAddress($address);

        $customer->setAssociates([$associate]);

        $response = ModulrApi::customers()->createCustomer((string) $customer);

        var_dump($response);
    }
}