定制 darkghosthunter/transbank 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

darkghosthunter/transbank

Composer 安装命令:

composer require darkghosthunter/transbank

包简介

Easy-to-use Transbank SDK for PHP.

README 文档

README

rawpixel - Unsplash (UL) #SEDqvdbkDQw

Latest Stable Version License PHP Composer Coverage Status

Transbank

Easy-to-use Transbank SDK for PHP.

Supports Webpay, Webpay Mall and Webpay Oneclick Mall.

Requisites:

Installation

Require it with Composer:

composer require darkghosthunter/webpay

Usage

This SDK mimics all the Webpay, Webpay Mall and Oneclick Mall methods from the official Transbank SDK for PHP.

You can check the documentation of these services in Transbank Developer's site.

Quickstart

Instance the Transbank object. You can do it manually, or with make() which will use Guzzle o Symfony HTTP Clients if any of these is already installed.

use DarkGhostHunter\Transbank\Transbank;

$transbank = Transbank::make();

If your project doesn't manage single instances, you can use getInstance() to receive a static Transbank instance.

use DarkGhostHunter\Transbank\Transbank;

$transbank = Transbank::getInstance();

Environments and credentials

By default, this SDK starts up in integration environment, where all transactions made are fake by using Transbank's own integration server.

To operate in production mode, where all transaction will be real, you will need to use toProduction() along an array with the name of the service and their production credentials issued by Transbank to you: webpay, webpayMall or oneclickMall.

$transbank->toProduction([
    'patpass' => ['555876543210','7a7b7d6cce5e...']
]);

For Mall operations, the "child" commerce code is only needed when doing the transactions.

Using a Service

To use a Transbank service, just call the method on the Transbank instance: webpay, webpayMall and oneclickMall.

use DarkGhostHunter\Transbank\Transbank;

$transaction = Transbank::singleton()
        ->webpay()
        ->create('order#123', 9990, 'https://app.com/compra');

HTTP Client

This package is compatible with any PSR-18 compliant HTTP Client. IF you don't have one, you can install Guzzle or Symfony

composer require guzzlehttp/guzzle:>=7.0

or

composer require symfony/http-client:>=5.2

Some PHP platforms already ship with their own HTTP Client, like Amp, ReactPHP, or Swoole.

Logger (optional)

You can use this package with any PSR-3 compliant Log system, allowing to debug transactions. You can use Monolog if you don't have one.

composer require monolog/monolog

All operations are sent to the logger using debug.

Event dispatcher (optional)

You can use this package with any PSR-14 compliant Event Dispatcher, so you will be able to hear transactions started and completed. You can use Symfony or League if you don't have one.

composer require symfony/event-dispatcher

or

composer require league/event

This package sends the following events:

  • TransactionCreating before a transaction is created in Transbank.
  • TransactionCreated after a transaction is created in Transbank, but pending payment.
  • TransactionCompleted after a transaction or refund is completed in Transbank, regardless of the success.

Excepciones

All exceptions implement TransbankException, so you can easily catch and check what happened.

Transactions properly rejected by banks or credit card issuers do not throw exceptions.

There are 4 types of exceptions:

  • ClientException: Any error byproduct of bad transactions, bad configuration, abort, abandonment, timeout or invalid values.
  • NetworkException: Any communication error from Transbank Server, like network timeouts or wrong endpoints.
  • ServerException: Any internal Transbank error.
  • UnknownException: Any other error.

Exceptions are not logged.

Run examples locally

Licence

The MIT License (MIT). Please see License File for more information.

Redcompra, Webpay, Oneclick, Onepay, Patpass and Transbank are trademarks of Transbank S.A.. This package and its author are not associated with Transbank S.A.

darkghosthunter/transbank 适用场景与选型建议

darkghosthunter/transbank 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 419 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 04 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

围绕 darkghosthunter/transbank 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 419
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 14
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-04-04