compropago / php-sdk
ComproPago API的PHP SDK
5.0.0.0
2018-11-30 00:15 UTC
Requires
- php: >=5.6
- rmccue/requests: ^1.7
Requires (Dev)
- phpunit/phpunit: >=4.8
- squizlabs/php_codesniffer: ^3.3
README
简介
使用ComproPago,您可以通过SPEI和现金接收付款。
ComproPago PHP SDK
库允许您在应用程序中与ComproPago API交互。它还包含了一些必要的函数,以简化您通过最常用的服务进行开发。
内容索引
ComproPago帮助和支持
您可以通过以下链接了解我们的服务信息:
如果您有任何问题或需要技术支持,请通过以下邮箱联系: soporte@compropago.com,并请提供以下信息:
- 账户所有者的全名。
- 商店网站的URL。
- 本地电话或手机。
- 账户所有者的电子邮件。
- 详细的疑问或要求文本。
- 如果您遇到任何技术问题,请发送屏幕截图或证据以获得更有效的响应。
要求
安装
通过Composer安装
您可以使用以下命令直接从Composer仓库下载SDK:
composer require compropago/php-sdk && composer -o dumpautoload
或者,如果您愿意,可以直接在您的composer.json
文件中包含以下代码:
{ "require" : { "compropago/php-sdk": "*" } }
之后,您需要使用以下命令安装依赖项:
composer install
通过GitHub安装
您可以下载我们在这里发布的任何版本。
或者,如果您愿意,可以按照以下方式克隆我们的仓库:
# Repositorio en su estado actual (Puede ser una versión inestable)
git clone https://github.com/compropago/compropago-php.git
基本使用指南
您需要拥有一个有效的ComproPago账户。
导入
<?php require 'vendor/autoload.php'; # Importar objeto Spei use CompropagoSdk\Resources\Payments\Spei; # Importar objeto Cash use CompropagoSdk\Resources\Payments\Cash;
库的基本使用
为了使用SDK并处理API调用,您需要配置连接密钥并创建Cash或Spei的实例。您可以在ComproPago控制面板的“配置”菜单中找到这些密钥。
用于通过转账收款的对象实例Spei
<?php /** * Configuración de las llaves de ComproPago * * @param string $public Llave pública correspondiente al modo de la tienda * @param string $private Llave privada correspondiente al modo de la tienda */ $compropagoSpei = (new Spei)->withKeys( 'pk_test_xxxxxxxxxxxxxxxxxx', 'sk_test_xxxxxxxxxxxxxxxxxx' );
用于现金收款的对象实例Cash
<?php /** * Configuración de las llaves de ComproPago * * @param string $public Llave pública correspondiente al modo de la tienda * @param string $private Llave privada correspondiente al modo de la tienda */ $compropagoCash = (new Cash)->withKeys( 'pk_test_xxxxxxxxxxxxxxxxxx', 'sk_test_xxxxxxxxxxxxxxxxxx' );
SDK基本方法
转账(SPEI)付款订单
创建新的付款订单
<?php # Información de la orden $data = [ "product" => [ "id" => "10001", "price" => 258.99, "name" => "Test ComproPago SPEI", "currency" => "MXN", "url" => "http://dummyurl.com/prod10001.jpg" ], "customer" => [ "id" => "123454", "name" => "Nombre del Cliente", "email" => "cliente@dominio.com", "phone" => "55222999888" ], "payment" => [ "type" => "SPEI" ], "expiresAt" => 1556555092 ]; /** * Creación de orden para cobro mediante trasnferencia (SPEI) por medio de ComproPago * * @param array $data Información de la orden * @return array Estructura con información de la orden generada en SPEI */ $order = $compropagoSpei->createOrder($data);
验证订单状态
<?php /** * Verificar la información de una orden SPEI * * @param string $orderId ID de la orden generada por medio de SPEI * @return array Estructura con información de la orden generada en SPEI */ $verified = $compropagoSpei->verifyOrder($order['data']['id']);
现金付款订单
列出现金付款供应商
<?php /** * Listar proveedores para pago en efectivo disponibles para su tienda * * @param float $limit Monto límite que el proveedor puede que aceptar * @param string $currency Moneda para el monto límite */ $providers = $compropagoCash->getProviders( $limit = 0, $currency = 'MXN' );
创建新的现金付款订单
<?php $data = [ "order_id" => "10002", "order_name" => "Test ComproPago CASH", "order_price" => 157.25, "image_url" => "http://dummyurl.com/prod10002.jpg", "customer_name" => "Nombre del Cliente", "customer_email" => "cliente@dominio.com", "customer_phone" => "55222999888", "currency" => 'MXN', "payment_type" => "OXXO" ]; /** * Creación de orden para cobro en efectivo por medio de ComproPago * * @param array $data Información de la orden * @return array Estructura con información de la orden generada */ $order = $compropagoCash->createOrder($data);
验证订单状态
<?php /** * Verificar la información de una orden en efectivo * * @param string $orderId ID de la orden generada por medio de efectivo * @return array Estructura con información de la orden generada en efectivo */ $verified = $compropagoCash->verifyOrder($order['id']);
通过短信发送指令
为了能够通过短信发送付款指令,您需要创建一个SMS
对象实例,并随后配置访问密钥。
<?php # Importar objeto Sms use CompropagoSdk\Resources\Sms; /** * Configuración de las llaves de ComproPago * * @param string $public Llave pública correspondiente al modo de la tienda * @param string $private Llave privada correspondiente al modo de la tienda */ $compropagoSms = (new Sms)->withKeys( 'pk_test_xxxxxxxxxxxxxxxxxx', 'sk_test_xxxxxxxxxxxxxxxxxx' ); /** * Llamada al método del API para envío de las instrucciones por SMS * * @param $phoneNumber Número al cual se enviaran las instrucciones * @param $orderId Id de la orden de compra de la cual se enviaran las instrucciones */ $smsInfo = $compropagoSms->sendToOrder( "55xxxxxxxx", "ch_xxxxx-xxxxx-xxxxx-xxxxx" );
Webhooks
Webhooks对于处理ComproPago订单至关重要,它们负责接收有关生成的购买订单状态变化的通知;也应在您的在线商店中包含部分审批逻辑。其流程如下:
- 当订单状态发生变化时,我们的平台会通知每个注册的路由。
- 该通知包含以JSON格式修改的订单信息。
已注册的webhooks可以在ComproPago控制面板中查看。
要访问控制webhooks的API功能,您需要创建一个Webhook
对象的实例。
<?php # Importar objeto Webhook use CompropagoSdk\Resources\Webhook; /** * Configuración de las llaves de ComproPago * * @param string $public Llave pública correspondiente al modo de la tienda * @param string $private Llave privada correspondiente al modo de la tienda */ $compropagoWebhook = (new Webhook)->withKeys( 'pk_test_xxxxxxxxxxxxxxxxxx', 'sk_test_xxxxxxxxxxxxxxxxxx' );
注册新的webhook
<?php /** * @param string $url URL que será registrada como EndPoint del webhook * @return array Estructura del Webhook */ $webhookInfo = $compropagoWebhook->create( "https://mitienda.com/webhook" );
列出已注册的webhooks
<?php /** * @return array Estructura del Webhook */ $listWebhooks = $compropagoWebhook->getAll();
更新webhook
/** * @param string $webhookId ID de un webhook previamente registrado * @param string $url URL nueva que será registrada como EndPoint del webhook * @return array Estructura del Webhook */ <?php $webhookInfo = $obj->update( $webhookInfo['id'], "https://mitienda.com/new_webhook" );
删除webhook
<?php /** * @param string $webhookId ID de un webhook previamente registrado * @return array Estructura del Webhook */ $webhookInfo = $compropagoWebhook->delete($webhookInfo['id']);