judopay/judopay-sdk

Judopay API 的 SDK

5.3.0 2022-10-07 13:52 UTC

README

JudoPay SDK 提供了将卡支付集成到您的 PHP 项目中的能力。Judo 的 SDK 使您的应用程序中的支付体验更加快速、简单和安全。

***由于行业范围内的安全更新,此 SDK 的版本低于 2.0 将在 2016 年 10 月 1 日之后不再支持。有关这些更新的更多信息,请参阅我们的博客 这里***

要求

为了确保 Judo PHP 库与您的开发环境正确工作,请确保满足以下要求

入门

1. 集成

SDK 的安装是通过 Composer 包管理器实现的。将 judopay 包添加到您的 composer.json 文件中

    "require": {
        "judopay/judopay-sdk": "5.0.0"
    }

然后执行

    $ composer install

确保您需要 'vendor/autoload.php' 文件,以便 Judopay SDK 类对您的应用程序可用。有关使用 Composer 的更多信息,请参阅 Composer 简介

2. 设置

要开始使用 SDK,使用您的 API 凭证创建一个新的 Judopay 对象

    $judopay = new Judopay(
        array(
            'apiToken' => 'your-token',
            'apiSecret' => 'your-secret',
            'judoId' => 'your-judo-id'
        )
    );
3. 进行支付

要使用完整的卡详情进行新的支付

    $payment = $judopay->getModel('Payment');
    $payment->setAttributeValues(
        array(
            'judoId' => 'your_judo_id',
            'yourConsumerReference' => '12345',
            'yourPaymentReference' => '12345',
            'amount' => 1.01,
            'currency' => 'GBP',
            'cardNumber' => '4976000000003436',
            'expiryDate' => '12/25',
            'cv2' => 452
        )
    );

注意:请确保您为每个不同的消费者使用唯一的消费者参考号,为每个交易使用唯一的支付参考号。

可以可选地包含卡地址详情,以便在 AVS 检查中使用,如下所示,(请参阅参数完整列表 这里

    $payment = $judopay->getModel('Payment');
    $payment->setAttributeValues(
        array(
            'judoId' => 'your_judo_id',
            'yourConsumerReference' => '12345',
            'yourPaymentReference' => '12345',
            'amount' => 1.01,
            'currency' => 'GBP',
            'cardNumber' => '4976000000003436',
            'expiryDate' => '12/25',
            'cv2' => 452,
            'cardAddress' => array('address1' => '1 Market Street', 'postCode' => 'E20 6PQ', 'countryCode' => 826)
        )
    );

您可以在 Judopay REST API 参考 中检查所需字段和每个字段的格式。要将请求发送到 API,请调用

    $response = $payment->create();
4. 检查支付结果

如果支付成功,您将收到如下响应数组(请参阅完整响应 这里

    Array
    (
        [receiptId] => 520882
        [type] => Payment
        [createdAt] => 2014-08-18T16:28:39.6164+01:00
        [result] => Success
        ...
        [amount] => 10.00
        ...	
        [yourPaymentReference] => 12345
    )

还重要的是在您的代码中处理不同的异常。有关错误处理的更多详细信息,请参阅我们的 错误处理部分

    try {
        $response = $payment->create();
        if ($response['result'] === 'Success') {
            echo 'Payment successful';
        } else {
            echo 'There were some problems while processing your payment';
        }
    } catch (JudopayExceptionValidationError $e) {
        echo $e->getSummary();
    } catch (JudopayExceptionApiException $e) {
        echo $e->getSummary();
    } catch (Exception $e) {
        echo $e->getMessage();
    }

下一步

Judo PHP SDK 支持一系列自定义选项。有关使用 Judo 的更多信息,请参阅我们的 文档

许可

请参阅 LICENSE 文件了解许可权利和限制(MIT)。