shieldgate / sdk-php
此包的最新版本(1.2.0)没有可用的许可证信息。
ShieldGate PHP 客户端
1.2.0
2022-06-10 17:10 UTC
Requires
- guzzlehttp/guzzle: ^7.4.2
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-10 22:28:50 UTC
README
语言:: EN || ES
安装
通过 composer 安装(目前尚未托管在 packagist 上)
composer require shieldgate/sdk
用法
<?php require 'vendor/autoload.php'; use Payment\Payment; // First setup your credentials provided by ShieldGate $applicationCode = "SOME_APP_CODE"; $applicationKey = "SOME_APP_KEY"; Payment::init($applicationCode, $applicationKey);
一旦设置了您的凭据,您就可以使用可用的资源。
可用资源
- 卡
- 可用方法:
getList
,delete
- 收费
- 可用方法:
create
,authorize
,capture
,verify
,refund
- 现金
- 可用方法:
generateOrder
卡
有关这些功能的完整文档请参见此处。
列表
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; Payment::init($applicationCode, $aplicationKey); $card = Payment::card(); // Success response $userId = "1"; $listOfUserCards = $card->getList($userId); $totalSizeOfCardList = $listOfUserCards->result_size; $listCards = $listOfUserCards->cards; // Get all data of response $response = $listOfUserCards->getData(); // Catch fail response try { $listOfUserCards = $card->getList("someUID"); } catch (PaymentErrorException $error) { // Details of exception echo $error->getMessage(); // You can see the logs for complete information }
收费
有关这些功能的完整文档请参见此处。
创建新的收费
有关此功能的完整文档请参见此处
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; // Card token $cardToken = "myAwesomeTokenCard"; $charge = Payment::charge(); $userDetails = [ 'id' => "1", // Field required 'email' => "dev@shieldgate.mx" // Field required ]; $orderDetails = [ 'amount' => 100.00, // Field required 'description' => "XXXXXX", // Field required 'dev_reference' => "XXXXXX", // Field required 'vat' => 0.00 // Field required ]; try { $created = $charge->create($cardToken, $orderDetails, $userDetails); } catch (PaymentErrorException $error) { // See the console output for complete information // Access to HTTP code from gateway service $code = $error->getCode(); $message = $error->getMessage(); } // Get transaction status $status = $created->transaction->status; // Get transaction ID $transactionId = $created->transaction->id; // Get authorization code $authCode = $created->transaction->authorization_code;
授权收费
有关此服务的完整文档请参见此处
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; // Card token $cardToken = "myAwesomeTokenCard"; $charge = Payment::charge(); $userDetails = [ 'id' => "1", // Field required 'email' => "dev@shieldgate.mx" // Field required ]; $orderDetails = [ 'amount' => 100.00, // Field required 'description' => "XXXXXX", // Field required 'dev_reference' => "XXXXXX", // Field required 'vat' => 0.00 // Field required ]; try { $authorization = $charge->authorize($cardToken, $orderDetails, $userDetails); } catch (PaymentErrorException $error) { // See the console output for complete information // Access to HTTP code from gateway service $code = $error->getCode(); $message = $error->getMessage(); } // Get transaction status $status = $authorization->transaction->status; // Get transaction ID $transactionId = $authorization->transaction->id; // Get authorization code $authCode = $authorization->transaction->authorization_code;
捕获
有关此服务的完整文档请参见此处
需要执行授权过程
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $charge = Payment::charge(); $authorization = $charge->authorize($cardToken, $orderDetails, $userDetails); $transactionId = $authorization->transaction->id; try { $capture = $charge->capture($transactionId); } catch (PaymentErrorException $error) { // See the console output for complete information // Access to HTTP code from gwateway service $code = $error->getCode(); $message = $error->getMessage(); } // Get transaction status $status = $capture->transaction->status; // Make a capture with different amount $newAmountForCapture = 1000.46; $capture = $charge->capture($transactionId, $newAmountForCapture);
退款
有关此服务的完整文档请参见此处
需要执行创建过程
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $charge = Payment::charge(); $created = $charge->create($cardToken, $orderDetails, $userDetails); $transactionId = $created->transaction->id; try { $refund = $charge->refund($transactionId); } catch (PaymentErrorException $error) { // See the console output for complete information // Access to HTTP code from gateway service $code = $error->getCode(); $message = $error->getMessage(); } // Get status of refund $status = $refund->status; $detail = $refund->detail; // Make a partial refund $partialAmountToRefund = 10; $refund = $charge->refund($transactionId, $partialAmountToRefund);
现金
生成订单
有关所有可用选项,请参见此处
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $cash = Payment::cash(); $carrierDetails = [ 'id' => 'oxxo', // Field required 'extra_params' => [ // Depends of carrier, for oxxo is required 'user' => [ // For oxxo is required 'name' => "Juan", 'last_name' => "Perez" ] ] ]; $userDetails = [ 'id' => "1", // Field required 'email' => "randm@mail.com" // Field required ]; $orderDetails = [ 'dev_reference' => "XXXXXXX", // Field required 'amount' => 100, // Field required 'expiration_days' => 1, // Field required 'recurrent' => false, // Field required 'description' => "XXXXXX" // Field required ]; try { $order = $cash->generateOrder($carrierDetails, $userDetails, $orderDetails); } catch (PaymentErrorException $error) { // See the console output for complete information // Access to HTTP code from gateway service $code = $error->getCode(); $message = $error->getMessage(); } // Get reference code $referenceCode = $order->transaction->reference; // Get expiration date $expirationData = $order->transaction->expiration_date; // Get order status $status = $order->transaction->status;
运行单元测试
composer run test
=============================
安装
通过 composer 安装(目前尚未托管在 packagist 上)
composer require shieldgate/sdk
用法
<?php require 'vendor/autoload.php'; use Payment\Payment; // Primero configura las credenciales otorgadas por ShieldGate $applicationCode = "SOME_APP_CODE"; $applicationKey = "SOME_APP_KEY"; Payment::init($applicationCode, $applicationKey);
一旦配置了您的凭据,您就可以使用可用的资源。
可用资源
- 卡
- 可用方法:
getList
,delete
- 收费
- 可用方法:
create
,authorize
,capture
,verify
,refund
- 现金
- 可用方法:
generateOrder
卡
查询此支付方式的完整文档此处。
列表
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; Payment::init($applicationCode, $aplicationKey); $card = Payment::card(); // Respuesta exitosa $userId = "1"; $listOfUserCards = $card->getList($userId); $totalSizeOfCardList = $listOfUserCards->result_size; $listCards = $listOfUserCards->cards; // Obtener los datos de la respuesta $response = $listOfUserCards->getData(); // Manejo de errores en la respuesta try { $listOfUserCards = $card->getList("someUID"); } catch (PaymentErrorException $error) { // Detalles de la excepción echo $error->getMessage(); // Puedes ver los logs para información completa }
使用令牌进行收费
查询此服务的完整文档此处。
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; // Token de tarjeta $cardToken = "myAwesomeTokenCard"; $charge = Payment::charge(); $userDetails = [ 'id' => "1", // Campo requerido 'email' => "dev@shieldgate.mx" // Campo requerido ]; $orderDetails = [ 'amount' => 100.00, // Campo requerido 'description' => "XXXXXX", // Campo requerido 'dev_reference' => "XXXXXX", // Campo requerido 'vat' => 0.00 // Campo requerido ]; try { $created = $charge->create($cardToken, $orderDetails, $userDetails); } catch (PaymentErrorException $error) { // Revisa la salida en consola para más información // Acceso al código HTTP y el mensaje de error del servicio de la pasarela $code = $error->getCode(); $message = $error->getMessage(); } // Obtiene el estado de la transacción $status = $created->transaction->status; // Obtiene el ID de la transacción $transactionId = $created->transaction->id; // Obtiene el código de autorización de la transacción $authCode = $created->transaction->authorization_code;
授权
查询此服务的完整文档此处。
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; // Token de tarjeta $cardToken = "myAwesomeTokenCard"; $charge = Payment::charge(); $userDetails = [ 'id' => "1", // Campo requerido 'email' => "dev@shieldgate.mx" // Campo requerido ]; $orderDetails = [ 'amount' => 100.00, // Campo requerido 'description' => "XXXXXX", // Campo requerido 'dev_reference' => "XXXXXX", // Campo requerido 'vat' => 0.00 // Campo requerido ]; try { $authorization = $charge->authorize($cardToken, $orderDetails, $userDetails); } catch (PaymentErrorException $error) { // Revisa la salida en consola para más información // Acceso al código HTTP y el mensaje de error del servicio de la pasarela $code = $error->getCode(); $message = $error->getMessage(); } // Obtiene el estado de la transacción $status = $authorization->transaction->status; // Obtiene el ID de la transacción $transactionId = $authorization->transaction->id; // Obtiene el código de autorización de la transacción $authCode = $authorization->transaction->authorization_code;
捕获
查询此服务的完整文档此处。
首先需要执行授权
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $charge = Payment::charge(); $authorization = $charge->authorize($cardToken, $orderDetails, $userDetails); $transactionId = $authorization->transaction->id; try { $capture = $charge->capture($transactionId); } catch (PaymentErrorException $error) { // Revisa la salida en consola para más información // Acceso al código HTTP y el mensaje de error del servicio de la pasarela $code = $error->getCode(); $message = $error->getMessage(); } // Obtiene el estado de la transacción $status = $capture->transaction->status; // Realiza la captura con un monto diferente (Consulta con el equipo de integraciones sobre las limitaciones de cada operador) $newAmountForCapture = 1000.46; $capture = $charge->capture($transactionId, $newAmountForCapture);
退款
查询此服务的完整文档此处。
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $charge = Payment::charge(); $created = $charge->create($cardToken, $orderDetails, $userDetails); $transactionId = $created->transaction->id; try { $refund = $charge->refund($transactionId); } catch (PaymentErrorException $error) { // Revisa la salida en consola para más información // Acceso al código HTTP y el mensaje de error del servicio de la pasarela $code = $error->getCode(); $message = $error->getMessage(); } // Obtiene el estado del reembolso $status = $refund->status; $detail = $refund->detail; // Realiza un refund parcial (Consulta con el equipo de integraciones sobre las limitaciones de cada operador) $partialAmountToRefund = 10; $refund = $charge->refund($transactionId, $partialAmountToRefund);
现金
生成订单
请查阅有关此服务的完整文档这里。
<?php use Payment\Payment; use Payment\Exceptions\PaymentErrorException; $cash = Payment::cash(); $carrierDetails = [ 'id' => 'oxxo', // Campo requerido 'extra_params' => [ // Depends of carrier, for oxxo is required 'user' => [ // For oxxo is required 'name' => "Juan", 'last_name' => "Perez" ] ] ]; $userDetails = [ 'id' => "1", // Campo requerido 'email' => "randm@mail.com" // Campo requerido ]; $orderDetails = [ 'dev_reference' => "XXXXXXX", // Campo requerido 'amount' => 100, // Campo requerido 'expiration_days' => 1, // Campo requerido 'recurrent' => false, // Campo requerido 'description' => "XXXXXX" // Campo requerido ]; try { $order = $cash->generateOrder($carrierDetails, $userDetails, $orderDetails); } catch (PaymentErrorException $error) { // Revisa la salida en consola para más información // Acceso al código HTTP y el mensaje de error del servicio de la pasarela $code = $error->getCode(); $message = $error->getMessage(); } // Obtiene el código / referencia de pago $referenceCode = $order->transaction->reference; // Obtiene la fecha de expiración $expirationData = $order->transaction->expiration_date; // Obtiene el estado de la orden $status = $order->transaction->status;
执行单元测试
composer run test