vload/merchant-connector

此包的最新版本(1.0.1)没有可用的许可信息。

商家VLoad API连接器

1.0.1 2018-08-24 08:36 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:44:50 UTC


README

安装

composer require vload/merchant-connector

使用

MerchantConnector {
    public __construct(\Vload\Common\Api\Config $config)
    public validate(string $pin)
    public charge(string $orderId, string $pin, \Vload\MerchantConnector\VO\Customer $customer [, string $description)
}

创建连接器实例

纯PHP
$secret = 'vload_secret_key'; //Merchant secret key provided by VLoad
$config = \Vload\Common\Api\Config::init($secret);
$connector = new MerchantConnector($config);
Symfony服务容器
# config/services.yaml
services:
    # ...
    vload.config:
        class: Vload\Common\Api\Config
        factory: ['Vload\Common\Api\Config', init]
        arguments: ['Your-VLoad-secret']

    Vload\MerchantConnector\MerchantConnector:
        class: Vload\MerchantConnector\MerchantConnector
        arguments: ["@vload.config"]

验证优惠券

$pin = '3156391887289068';
$voucher = $connector->validate($pin);

参数

pin(必需)

优惠券pin

返回

方法在成功时返回 \Vload\Common\VO\Voucher 对象,或在失败时抛出 异常

扣除优惠券

$orderId = '12345678';
$pin = '3156391887289068';
$customer = new \Vload\Common\VO\Customer(...);
$description = 'Test redeem';
$charge = $connetor->charge($orderId, $pin, $customer, $description);

参数

orderId(必需)

系统中的订单参考

pin(必需)

VLoad优惠券的pin号码

customer(必需)

您系统中的客户对象。检查 示例 以获取正确的客户创建代码。

description(可选)

扣除的描述

返回

方法在成功时返回 \Vload\Common\VO\Charge 对象,或在失败时抛出 异常

检索扣除

$chargeId = 'AWT_fCCMh9GTrU2CKeaeXw==';
$charge = $connector->retrieveCharge($chargeId);

参数

chargeId(必需)

要检索的扣除的ID,如从 扣除优惠券 返回。

返回

方法在成功时返回 \Vload\Common\VO\Charge 对象,或在失败时抛出 异常

异常

如果请求的VLoad API操作失败,连接器方法将从 \Vload\Common\Exception 命名空间抛出以下异常。

InvalidInput

请求不可接受,通常由于缺少必需的参数。

NotFound

请求的对象不存在(例如,无效或非活动优惠券)

Unauthorized

未提供有效的API密钥。

Conflict

请求与另一个请求冲突(可能是因为使用了相同的幂等键)。

CommunicationFailed

发生某些内部API错误。

示例

有关更多信息,请参阅 示例目录