wire4/wire4-api-sdk-php
Composer 安装命令:
composer require wire4/wire4-api-sdk-php
包简介
Cliente sdk para trabajar con el api de wire4<br>Wire4 es una API - Fintech de Banco Monex con la que podrás administrar transferencias *SPEI
README 文档
README
Referencia de la API de Wire4
Cliente sdk para trabajar con el api de wire4
Wire4 es una API - Fintech de Banco Monex con la que podrás administrar transferencias SPEI
- Versión del API de Wire4: 1.0.0
- Versión del paquete SDK: 1.1.4
Requisitos
PHP 5.5 o posterior
Instalación y uso
Composer
Para instalar via Composer, agrega lo siguiente a composer.json:
{
"repositories": [
{
"type": "git",
"url": "https://github.com/wire4/wire4-api-sdk-php.git"
}
],
"require": {
"wire4/wire4-api-sdk-php": "dev-master"
}
}
Ejecuta el siguiente comando:
composer install
o simplemente ejecuta desde la línea de comandos la siguiente línea:
composer require wire4/wire4-api-sdk-php dev-master
Una vez que se instalo el cliente en tu proyecto importa el autoload.php
require_once('/path/to/wire4-php-client/vendor/autoload.php');
Cómo iniciar
Por favor sigue el procedimiento de instalación (Instalacion y uso) y ejecuta el siguiente código de ejemplo reemplazando las credenciales de aplicación por tus datos. Toma en cuanta que estos son ejemplos que te servirán de referencia y que pueden cambiar pero debes crear una cuenta en wire4.mx para obtener tus datos de aplicación.
<?php require_once(__DIR__ . '/vendor/autoload.php'); $accessToken= ""; try { // Create the authenticator to obtain access token $oauth = new \mx\wire4\auth\OAuthWire4 ( 'YOUR_OAUTH_CONSUMER_KEY', //REPLACE THIS WITH YOUR DATA 'YOUR_OAUTH_CONSUMER_SECRET', //REPLACE THIS WITH YOUR DATA \mx\wire4\auth\Environment::SANDBOX); // O \mx\wire4\auth\Environment::PRODUCTION // Obtain an access token use application flow and scope "general" $accessToken= $oauth->obtainAccessTokenApp("general"); } catch(OAuthException $e) { echo "Respuesta: ". $e->lastResponse . "\n"; } $apiInstance = new \mx\wire4\client\api\ComprobanteElectrnicoDePagoCEPApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client() ); $body = new \mx\wire4\client\model\CepSearchBanxico(); // \mx\wire4\client\model\CepSearchBanxico | Información para buscar un CEP try { $result = $apiInstance->obtainTransactionCepUsingPOST($body,$accessToken); print_r($result); } catch (Exception $e) { echo 'Exception when calling ComprobanteElectrnicoDePagoCEPApi->obtainTransactionCepUsingPOST: ', $e->getMessage(), PHP_EOL; } ?>
En el proyecto de github https://github.com/wire4/wire4-api-sdk-php encontrarás una sección de ejemplos (examples) que ilustra el uso del sdk en cada uno de los recursos disponibles en el api, sin embargo, para más detalle o la forma en como puedes utilizar cada uno de los métodos de la API te recomendamos revisar la documentación en la sección de "Referencia" en https://developers.wire4.mx
Documentación para los Endpoints de la API
Todos los URIs son relativos a https://sandbox-api.wire4.mx/wire4/1.0.0 en el ambiente de sandbox o https://api.wire4.mx/wire4/1.0.0 para el ambiente de producción.
| Clase | Metodo | HTTP request | Descripción |
|---|---|---|---|
| AutorizacinDeDepsitosApi | getDepositAuthConfigurations | GET /subscriptions/{subscription}/configurations/deposit-authorization | Consulta autorización de depósitos |
| AutorizacinDeDepsitosApi | putDepositAuthConfigurations | PUT /subscriptions/{subscription}/configurations/deposit-authorization | Habilita / Deshabilita la autorización de depósitos |
| ComprobanteElectrnicoDePagoCEPApi | obtainTransactionCepUsingPOST | POST /ceps | Consulta de CEP |
| ContactoApi | sendContactUsingPOST | POST /contact | Solicitud de contacto |
| ContractsDetailsApi | createAuthorization | POST /onboarding/accounts/authorize | Devuelve la URL para autorización del usuario Monex |
| ContractsDetailsApi | obtainAuthorizedUsers | GET /onboarding/accounts/{requestId}/authorized-users | Obtiene los usuarios autorizados |
| ContractsDetailsApi | obtainAuthorizedUsersByContract | GET /onboarding/accounts/authorized-users | Obtiene los usuarios autorizados por contrato |
| ContractsDetailsApi | obtainContractDetails | POST /onboarding/accounts/details | Obtiene los detalles de la empresa del contrato |
| CuentasDeBeneficiariosSPEIApi | authorizeAccountsPendingPUT | PUT /subscriptions/{subscription}/beneficiaries/pending | Solicitud para agrupar cuentas de beneficiarios SPEI/SPID en estado pendiente. |
| CuentasDeBeneficiariosSPEIApi | deleteAccountUsingDELETE | DELETE /subscriptions/{subscription}/beneficiaries/spei/{account} | Elimina la cuenta del beneficiario |
| CuentasDeBeneficiariosSPEIApi | getAvailableRelationshipsMonexUsingGET | GET /subscriptions/{subscription}/beneficiaries/relationships | Consulta de relaciones |
| CuentasDeBeneficiariosSPEIApi | getBeneficiariesByRequestId | GET /subscriptions/{subscription}/beneficiaries/spei/{requestId} | Consulta los beneficiarios por el identificador de la petición de registro |
| CuentasDeBeneficiariosSPEIApi | getBeneficiariesForAccountUsingGET | GET /subscriptions/{subscription}/beneficiaries/spei | Consulta los beneficiarios registrados |
| CuentasDeBeneficiariosSPEIApi | preRegisterAccountsUsingPOST | POST /subscriptions/{subscription}/beneficiaries/spei | Pre-registro de cuentas de beneficiarios SPEI®. |
| CuentasDeBeneficiariosSPEIApi | removeBeneficiariesPendingUsingDELETE | DELETE /subscriptions/{subscription}/beneficiaries/spei/request/{requestId} | Eliminación de beneficiarios SPEI® sin confirmar |
| CuentasDeBeneficiariosSPEIApi | updateAmountLimitAccountUsingPUT | PUT /subscriptions/{subscription}/beneficiaries/spei/{account} | Solicitud para actualizar el monto límite de una cuenta |
| CuentasDeBeneficiariosSPIDApi | getSpidBeneficiariesForAccount | GET /subscriptions/{subscription}/beneficiaries/spid | Consulta los beneficiarios SPID registrados |
| CuentasDeBeneficiariosSPIDApi | preRegisterAccountsUsingPOST1 | POST /subscriptions/{subscription}/beneficiaries/spid | Pre-registro de cuentas de beneficiarios SPID® |
| DepositantesApi | getDepositantsUsingGET | GET /subscriptions/{subscription}/depositants | Consulta de cuentas de depositantes |
| DepositantesApi | registerDepositantsUsingPOST | POST /subscriptions/{subscription}/depositants | Registra un nuevo depositante |
| EmpresasCoDiApi | obtainCompanies | GET /codi/companies | Consulta de empresas CODI® |
| EmpresasCoDiApi | registerCompanyUsingPOST | POST /codi/companies | Registro de empresas CODI® |
| FacturasApi | billingsReportByIdUsingGET | GET /billings/{id} | Consulta de facturas por identificador |
| FacturasApi | billingsReportUsingGET | GET /billings | Consulta de facturas |
| InstitucionesApi | getAllInstitutionsUsingGET | GET /institutions | Consulta de instituciones bancarias |
| LmitesDeMontosApi | obtainConfigurationsLimits | GET /subscriptions/{suscription}/configurations | Consulta de configuraciones |
| LmitesDeMontosApi | updateConfigurations | PUT /subscriptions/{suscription}/configurations | Actualiza configuraciones por suscripción |
| OperacionesCoDiApi | consultCodiOperations | POST /codi/charges | Consulta de operaciones |
| PeticionesDePagoPorCoDiApi | consultCodiRequestByOrderId | GET /codi/sales-point/charges | Consulta información de petición por orderId |
| PeticionesDePagoPorCoDiApi | generateCodiCodeQR | POST /codi/sales-point/charges | Genera código QR |
| PuntosDeVentaCoDiApi | createSalesPoint | POST /codi/companies/salespoint | Registro de punto de venta. |
| PuntosDeVentaCoDiApi | obtainSalePoints | GET /codi/companies/salespoint | Consulta de puntos de venta |
| SaldoApi | getBalanceUsingGET | GET /subscriptions/{subscription}/balance | Consulta los saldo de una cuenta |
| SuscripcionesApi | changeSubscriptionStatusUsingPUT | PUT /subscriptions/{subscription}/status | Cambia el estatus de la suscripción |
| SuscripcionesApi | changeSubscriptionUseUsingPATCH | PATCH /subscriptions/{subscription} | Cambia el uso de la suscripción |
| SuscripcionesApi | preEnrollmentMonexUserUsingPOST | POST /subscriptions/pre-subscription | Pre-registro de una suscripción |
| SuscripcionesApi | removeEnrollmentUserUsingDELETE | DELETE /subscriptions/{subscription} | Elimina suscripción por su identificador. |
| SuscripcionesApi | removeSubscriptionPendingStatusUsingDELETE | DELETE /subscriptions/pre-subscription/{subscription} | Elimina pre-registro de suscripción |
| TransferenciasSPEIApi | createAuthorizationTransactionsGroup | POST /subscriptions/{subscription}/transactions/group | Agrupa transacciones bajo un request_id |
| TransferenciasSPEIApi | dropTransactionsPendingUsingDELETE | DELETE /subscriptions/{subscription}/transactions/outcoming/spei/request/{requestId} | Eliminación de transferencias SPEI® pendientes |
| TransferenciasSPEIApi | incomingSpeiTransactionsReportUsingGET | GET /subscriptions/{subscription}/transactions/incoming/spei | Consulta de transferencias recibidas |
| TransferenciasSPEIApi | outCommingSpeiRequestIdTransactionsReportUsingGET | GET /subscriptions/{subscription}/transactions/outcoming/spei/{requestId} | Consulta de transferencias de salida por identificador de petición |
| TransferenciasSPEIApi | outgoingSpeiTransactionsReportUsingGET | GET /subscriptions/{subscription}/transactions/outcoming/spei | Consulta de transferencias realizadas |
| TransferenciasSPEIApi | registerOutgoingSpeiTransactionUsingPOST | POST /subscriptions/{subscription}/transactions/outcoming/spei | Registro de transferencias |
| TransferenciasSPIDApi | getSpidClassificationsUsingGET | GET /subscriptions/{subscription}/beneficiaries/spid/classifications | Consulta de clasificaciones para operaciones SPID® |
| TransferenciasSPIDApi | registerOutgoingSpidTransactionUsingPOST | POST /subscriptions/{subscription}/transactions/outcoming/spid | Registro de transferencias SPID® |
| WebhooksApi | getWebhook | GET /webhooks/{id} | Consulta de Webhook |
| WebhooksApi | getWebhooks | GET /webhooks | Consulta la lista de Webhooks |
| WebhooksApi | registerWebhook | POST /webhooks | Alta de Webhook |
Documentación para los modelos
- Account
- AccountDetail
- AccountReassigned
- AccountRequest
- AccountResponse
- AccountSpid
- AddressCompany
- AmountRequest
- AuthorizationTransactionGroup
- AuthorizedBeneficiariesResponse
- AuthorizedUsers
- Balance
- BalanceListResponse
- BeneficiariesQueryRegisterStatus
- BeneficiariesResponse
- BeneficiaryInstitution
- Billing
- BillingTransaction
- CepResponse
- CepSearchBanxico
- CertificateRequest
- CodiCodeQrResponseDTO
- CodiCodeRequestDTO
- CodiOperationResponseDTO
- CodiOperationsFiltersRequestDTO
- CompanyRegistered
- CompanyRequested
- Compay
- ConfigurationsLimits
- ContactRequest
- ContractDetailRequest
- ContractDetailResponse
- Deposit
- DepositAuthorizationRequest
- Depositant
- DepositantsRegister
- DepositantsResponse
- DepositsAuthorizationResponse
- DetailedErrorResponse
- ErrorResponse
- GetDepositants
- Institution
- InstitutionsList
- Item
- MessageAccountBeneficiary
- MessageCEP
- MessageCodiAction
- MessageConfigurationsLimits
- MessageDepositAuthorizationRequest
- MessageDepositReceived
- MessageInstitution
- MessagePayment
- MessagePaymentStatePending
- MessageRequestChanged
- MessageSalesPoint
- MessageSubscription
- MessageUserAuthorized
- MessageWebHook
- Operations
- PagerResponseDto
- Payment
- PaymentCODI
- PaymentRequestCodiResponseDTO
- PaymentsRequestId
- Person
- PreEnrollmentData
- PreEnrollmentResponse
- PreMonexAuthorization
- Relationship
- RelationshipsResponse
- SalesPoint
- SalesPointFound
- SalesPointRequest
- SalesPointRespose
- ServiceBanking
- SpidBeneficiariesResponse
- SpidBeneficiaryResponse
- SpidClassificationDTO
- SpidClassificationsResponseDTO
- SubscriptionChangeStatusRequest
- TokenRequiredResponse
- TransactionErrorCode
- TransactionOutgoing
- TransactionOutgoingSpid
- TransactionsOutgoingRegister
- UpdateConfigurationsRequestDTO
- UrlsRedirect
- UseServiceBanking
- UserCompany
- WebHookDepositAuthorizationRequest
- WebHookDepositAuthorizationResponse
- Webhook
- WebhookRequest
- WebhookResponse
- WebhooksList
Validación de firma de webhooks
Te recomendamos revisar la documentación de Referencia de wire4 para mas detalle, no obstante te dejamos un ejemplo de validación de firmas para este cliente.
$message = "{\"id\":\"evt_641296342fdbf2db40ce674dde4881b87ada81b1695ae1c54666578272c1cd10\",\"object\":\"spid_outgoing\",\"api_version\":\"1.0.0\",\"created\":\"2019-12-05T11:55:10.058-06:00\",\"data\":{\"account\":\"8999998\",\"amount\":120.25,\"currency_code\":\"USD\",\"monex_description\":\"Nombre Receptor: BANAMEX | Monto Pago: 120.25 | Cuenta beneficiaria: 112680000189999984 | Nombre Beneficiario: notificar@wire4.mx | Clave de Rastreo: | Referencia Numerica: 1234567 | Concepto del pago: Transfer out test 1 | Fecha Confirmacion de Liquidacion: 05-12-2019 11:55:10\",\"detention_message\":\"Cuenta de beneficiario, no existe\",\"payment_order_id\":1427991983,\"status_code\":\"FAILED\",\"transaction_id\":704814938,\"beneficiary_account\":\"112680000189999984\",\"beneficiary_bank\":{\"key\":\"40112\",\"name\":\"BMONEX\",\"company_name\":\"BANCO MONEX S.A. INSTITUCION DE BANCA MULTIPLE, MONEX GRUPO FINANCIERO\",\"rfc\":\"BMI9704113PA\"},\"beneficiary_name\":\"notificar@wire4.mx\",\"concept\":\"Transfer out test 1\",\"order_id\":\"8A736A1D-ECA6-4959-93FE-794365F53E24\",\"reference\":1234567,\"request_id\":\"7dbf528d-b395-4779-924e-b182a4de17a5\",\"cep\":{}},\"livemode\":false,\"pending_webhooks\":0,\"request\":\"8A736A1D-ECA6-4959-93FE-794365F53E24\",\"type\":\"TRANSACTION.OUTGOING.SPID.RECEIVED\"}"; $referenceString = "7c088d16a8a25f1640e95dfdce65770cb0a31dc0e71a9749bba1e4e114201efb6e78c50bea3d8d9337b8ea63b2a8abf5b1e03d0cf9dda6f8e83a509d1ac11908"; $key = "wh_6b5cb70ab7fd489a8bd0c9d06513008"; //Lo encontraras en la consola de administracion de wire4.mx una vez que estes registrado y hayas dado de alta un webhook, reemplaza este valor $signResult = \mx\wire4\webhooks\sign\UtilsCompute::toExadecimal( \mx\wire4\webhooks\sign\UtilsCompute::computeHmacSha512($message, $key)); var_dump($signResult); if( ! \mx\wire4\webhooks\sign\UtilsCompute::compareSignatures($referenceString,$signResult) ) { echo "Las firmas no son iguales:"; } else { echo "Las validacion de firmas es correcta"; } echo "\noriginal:".$referenceString; echo "\nresultado:".$signResult;
Documentación para la autenticación
wire4_aut_app
- Type: OAuth
- Flow: application
- Authorization URL Sandbox: https://sandbox-api.wire4.mx/token
- Authorization URL Producción: https://api.wire4.mx/token
- Scopes:
- ****
general:
wire4_aut_app_user_spei
- Type: OAuth
- Flow: password
- Authorization URL Sandbox: https://sandbox-api.wire4.mx/token
- Authorization URL Producción: https://api.wire4.mx/token
- Scopes:
- **** spei_admin:
wire4_aut_app_user_spid
- Type: OAuth
- Flow: password
- Authorization URL Sandbox: https://sandbox-api.wire4.mx/token
- Authorization URL Producción: https://api.wire4.mx/token
- Scopes:
- **** spid_admin:
Author
Wire4 Todos los derechos reservados 2019. Politicas de privacidad - Términos y condiciones https://wire4.mx/#/policies/use-policies
wire4/wire4-api-sdk-php 适用场景与选型建议
wire4/wire4-api-sdk-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 83 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 01 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 wire4/wire4-api-sdk-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 wire4/wire4-api-sdk-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 83
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2020-01-30