lamoda/payture-inpay-client

Payture InPay API 客户端

1.2 2024-02-01 11:49 UTC

This package is auto-updated.

Last update: 2024-08-30 13:32:55 UTC


README

这是一个为 Payture InPay API 定制的简单 PHP 客户端。此 API 允许在 Payture 端管理用户敏感的支付数据(例如卡片)的同时处理支付交易。

Build Status Scrutinizer Code Quality Code Coverage Build Status

安装

composer require lamoda/payture-inpay-client

使用

<?php

# Minimal initialization
$configuration = new \Lamoda\Payture\InPayClient\TerminalConfiguration(
    'MerchantKey',
    'MerchantPassword',
    'https://sandbox.payture.com/'
);

$transport = new \Lamoda\Payture\InPayClient\GuzzleHttp\GuzzleHttpPaytureTransport(
    new \GuzzleHttp\Client(),
    $configuration
);

$terminal = new \Lamoda\Payture\InPayClient\PaytureInPayTerminal($configuration, $transport);

$terminal->charge('ORDER_NUMBER_123', 100500);

调整

客户端配置

您可以将 \Lamoda\Payture\InPayClient\GuzzleHttp\GuzzleHttpOptionsBag 的实例作为第三个参数传递给 GuzzleHttpPaytureTransport。实例预先配置了 guzzle \GuzzleHttp\RequestOptions,包括全局(第一个构造函数参数)和按操作(按操作名称索引的第二个构造函数参数)。

日志记录

您可以将 PSR-3 LoggerInterface 的实例作为第四个参数传递给 GuzzleHttpPaytureTransport,以记录带有参数的操作。

您还可以配置通用的 Guzzle 日志中间件

测试

vendor/bin/phpunit -c phpunit.xml

您可以在运行测试时提供环境变量 PAYTURE_TEST_MERCHANT_KEYPAYTURE_TEST_MERCHANT_PASSWORD,以在您的测试终端测试此库。

 PAYTURE_TEST_MERCHANT_KEY=MerchantKey \
 PAYTURE_TEST_MERCHANT_PASSWORD=MerchantPassword \
 vendor/bin/phpunit -c phpunit.xml

这些测试将在 payture 沙盒上运行订单处理流程。