ezeasorekene/credo-payments

此包用于与credocentral.com和credodemo.com API进行通信

v2.0.0 2024-05-07 05:55 UTC

This package is auto-updated.

Last update: 2024-09-07 06:36:24 UTC


README

此包用于与credocentral.com和credodemo.com API进行通信

入门

使用composer安装此包。

运行 composer require ezeasorekene/credo-payments

定义您的API密钥

定义您的$apiKeys变量为一个包含公钥和私钥的数组。您应从环境变量中获取密钥。还要定义环境键CREDO_MODE,参数为DEMO | LIVE

    $apiKeys = [
        'publicKey' => getenv("CREDO_MODE") == 'LIVE' ? getenv("CREDO_LIVE_PUBLIC_KEY") : getenv("CREDO_TEST_PUBLIC_KEY"),
        'secretKey' => getenv("CREDO_MODE") == 'LIVE' ? getenv("CREDO_LIVE_SECRET_KEY") : getenv("CREDO_TEST_SECRET_KEY"),
    ];

实例化事务

   $credo = new CredoPay( $apiKeys, getenv("CREDO_MODE") );

使用数组设置要发布的数据。请注意,serviceCode是一个可选字段。当您想在不同账户之间分割支付时使用

        $credodata = [
            'reference' => uniqid(),
            'amount' => 20000, //in kobo
            'bearer' => 0,
            'callbackUrl' => 'http://example.com/callback/credo',
            'currency' => 'NGN',
            'customerFirstName' => 'Credo',
            'customerLastName' => 'Package',
            'customerPhoneNumber' => '234080111111111',
            'email' => 'credotest@gmail.com',
            'channels' => array('card', 'bank'),
            'serviceCode' => 'XXXXXXXXXXX',
            "metadata" => [
                "customFields" => [
                    [
                        'display_name' => 'Custom Field Display 1',
                        'variable_name' => 'Custom Field Variable 1',
                        'value' => 'Custom Field Value 1'
                    ]
                ]
            ],
        ];

响应是一个JSON编码的对象。因此,为了解码,请执行json_decode

    $response = json_decode($credo->initialize($credodata));

验证事务

    $credo = new CredoPay( $apiKeys, getenv("CREDO_MODE") );
    $verify = json_decode($credo->verify($reference));