juspay / express-checkout
PHP Express Checkout SDK 允许与服务平台 Juspay 的 EC 付款轻松集成
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 5.4.6
This package is not auto-updated.
Last update: 2022-02-01 12:59:37 UTC
README
Juspay PHP 库提供了对 Juspay 服务的集成访问。该库使用 composer
进行分发。
要将库添加到项目中,请将其添加到您的 composer.json 文件中。此包需要 minimum-stability
为 dev
。在您的 composer.json 中相应地设置 minimum-stability
。
示例用法
SDK API
SDK 暴露了 2 个主要的 API 类,分别是 Orders
和 Cards
API。
但在开始创建订单和处理付款之前,我们需要对 SDK 进行一些基本设置。
设置 SDK 以供使用。
要设置 SDK,我们首先需要声明我们希望使用的 merchantId、apiKey 和 environment。
通过调用以下函数设置 SDK:configure($environment, $merchantId, $apiKey)
注意:传递给 configure 方法的 merchant 必须在相应的环境中创建。如果您在 sandbox.juspay.in 上创建了一个账户并将环境设置为 JuspayConfiguration::ENVIRONMENT_PRODUCTION
**,API 将无法工作。
设置完成后,可以创建 API 类的实例,即 Orders
和 Cards
类。
Juspay::configure('myMerchantId', '3954450E640447CAA7833D0C266CB2F8', JuspayConfiguration::ENVIRONMENT_SANDBOX);
$socketConnectTimeout = 10;
$connectionReadTimeout = 20;
$ordersApiInstance = new Orders($socketConnectTimeout, $connectionReadTimout);
$cardsApiInstance = new Cards($socketConnectTimeout, $connectionReadTimout);
作为替代,可以调用 JuspayConfigure::configureAndSetUp($environment, $merchantId, $apiKey, $apiConnectTimeout, $apiReadTimeout)
方法,传入连接超时和读取超时值。调用此方法设置 Order
和 Card
API 的实例。
$socketConnectTimeout = 10;
$connectionReadTimeout = 20;
JuspayConfiguration::configureAndSetUp(
'myMerchantId',
'3954450E640447CAA7833D0C266CB2F8',
JuspayConfiguration::ENVIRONMENT_SANDBOX,
$socketConnectTimeout,
$connectionReadTimeout
);
// Instances of the Cards and Orders APIs are avalable inside the ExpressCheckout class.
$ordersApiInstance = ExpressCheckout::$Order;
$cardsApiInstance = ExpressCheckout::$Card;
关于 API 响应的说明
Juspay HTTP API 的响应始终是 JSON 格式。使用 PHP 的 json_decode
函数解析从 HTTP API 返回的 JSON 格式数据。响应被解码为 PHP 数组。
从 Cards
和 Orders
API 返回的所有值都是 PHP arrays
,具有 body
、headers
和 responseCode
作为键。body
包含响应的 HTTP 有效负载,headers
包含响应头,responseCode
包含响应的 HTTP 状态码。
示例
ExpressCheckout::$Cards->addCard($params)
的响应
Array
(
[body] => Array
(
[card_token] => ab9e9d3f-35d4-4a24-93f1-762a082ae4e4
[card_reference] => 66d54d9150d10335ba9d947fb5fb1748
[card_fingerprint] => 3csmo6fvfsge9pqftfb858aicp
)
[headers] => HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, must-revalidate
Cache-control: no-cache="set-cookie"
Content-Type: application/json;charset=UTF-8
Date: Thu, 07 Jul 2016 06:28:46 GMT
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Pragma: no-cache
Server: ***
Set-Cookie: AWSELB=6773E1D310F68F94E7244334D860EC90C0C6FD86A5BBFB381A3D95415EEA068E0EDC597C16422068E16BCEF4B4226E60D53FD0A870DA118459E1FF8E4B71D9020D5E78EC55;PATH=/;MAX-AGE=1800
Strict-Transport-Security: max-age=0; includeSubDomains
Content-Length: 166
Connection: keep-alive
[responseCode] => 200
)