承接 compropago/php-sdk 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

compropago/php-sdk

Composer 安装命令:

composer require compropago/php-sdk

包简介

PHP SDK for ComproPago API

README 文档

README

Build Status

Run in Postman

Introducción

Con ComproPago puede recibir pagos vía SPEI y en efectivo.

La librería de ComproPago PHP SDK le permite interactuar con el API de ComproPago en su aplicación. También cuenta con los métodos necesarios para facilitarle su desarrollo por medio de los servicios más utilizados.

Índice de contenidos

Ayuda y soporte de ComproPago

Puede obtener información acerca de nuestros servicios en alguno de los siguientes enlaces:

En caso de tener alguna pregunta o requerir el apoyo técnico, por favor contacte al correo: soporte@compropago.com y proporcionando la siguiente información:

  • Nombre completo del propietario de la cuenta.
  • URL del sitio web de la tienda.
  • Teléfono local o celular.
  • Correo electrónico del propietario de la cuenta.
  • Texto detallado de la duda o requerimiento.
  • En caso de presentar algún problema técnico, por favor enviar capturas de pantalla o evidencia para una respuesta más efectiva.

Requerimientos

Instalación

Instalación por Composer

Puede descargar el SDK directamente desde el repositorio de Composer con el siguiente comando:

composer require compropago/php-sdk && composer -o dumpautoload

O si lo prefiere, puede incluir directamente en su archivo composer.json el siguiente código:

{
    "require" : {
        "compropago/php-sdk": "*"
    }
}

Posteriormente deberá instalar las dependencias usando el siguiente comando:

composer install

Instalación por Github

Puede descargar alguna de las versiones que hemos publicado aquí:

O si lo desea puede clonar nuestro repositorio de la siguiente forma:

# Repositorio en su estado actual (Puede ser una versión inestable)
git clone https://github.com/compropago/compropago-php.git

Guía básica de uso

Se debe contar con una cuenta activa de ComproPago.

Importación

<?php

require 'vendor/autoload.php';

# Importar objeto Spei
use CompropagoSdk\Resources\Payments\Spei;

# Importar objeto Cash
use CompropagoSdk\Resources\Payments\Cash;

Uso básico de la libreria

Para poder hacer uso del SDK y procesar las llamadas al API, es necesario que configurar sus llaves de conexión y crear un instancia de Cash o Spei. Sus llaves las encontrara en su Panel de ComproPago en el menú Configuración.

Instacia de objecto Spei para cobros mediante transferencia

<?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'
);

Instacia de objecto Cash para cobros en efectivo

<?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'
);

Métodos base del SDK

Ordenes de pago mediante trasferencia (SPEI)

Crear una nueva orden de pago

<?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);

Verificar el estatus de la orden

<?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']);

Ordenes de pago en efectivo

Listar proveedores para pago en efectivo

<?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'
);

Crear una nueva orden de pago en efectivo

<?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);

Verificar el estatus de la orden

<?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']);

Enviar instrucciones por SMS

Para poder enviar las instrucciones de pago mediante mensajes SMS, deberá crear una instancia del objecto SMS y porsteriormente configurar sus llaves de acceso.

<?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

Los webhooks son de suma importancia para el procesamiento de las ordenes de ComproPago, estos se encargaran de recibir las notificaciones del cambio en los estatus en las ordenes de compra generadas; también deberán contener parte de la lógica de aprobación en su tienda en linea. El proceso que siguen es el siguiente.

  1. Cuando una orden cambia su estatus, nuestra plataforma le notificara a cada una de las rutas registradas.
  2. Dicha notificacion cuenta con la información de la orden modificada en formato JSON.

Los webhooks registrados se pueden visualizar en el panel de ComproPago

Para poder acceder a las funciones del API que controlan los webhook, deberá crear una instancia del objecto 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'
);

Registrar un nuevo 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"
);

Listar webhooks registrados

<?php

/**
 * @return array    Estructura del Webhook
 */
$listWebhooks = $compropagoWebhook->getAll();

Actualizar un 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"
);

Eliminar un webhook

<?php

/**
 * @param string $webhookId     ID de un webhook previamente registrado
 * @return array                Estructura del Webhook
 */
$webhookInfo = $compropagoWebhook->delete($webhookInfo['id']);

compropago/php-sdk 适用场景与选型建议

compropago/php-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6.94k 次下载、GitHub Stars 达 7, 最近一次更新时间为 2015 年 12 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「payment gateway」 「pagos internet」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 compropago/php-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 compropago/php-sdk 我们能提供哪些服务?
定制开发 / 二次开发

基于 compropago/php-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6.94k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 17
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 13
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2015-12-23