定制 softinvest/cloudpayments-php-client 二次开发

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

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

softinvest/cloudpayments-php-client

Composer 安装命令:

composer require softinvest/cloudpayments-php-client

包简介

cloudpayments api client, php8 support

README 文档

README

Оглавление

Установка

Установить библиотеку можно с помощью composer:

composer require flowwow/cloudpayments-php-client

Начало работы

$publicId = /*...*/;
$pass = /*...*/;
$apiClient = new \Flowwow\Cloudpayments\Library($publicId, $pass);
$response = $apiClient->paymentsCardsCharge(new \Flowwow\Cloudpayments\Request\CardsPayment(
    100,
    'RUB',
    '123.123.123.123',
    '01492500008719030128SMfLeYdKp5dSQVIiO5l6ZCJiPdel4uDjdFTTz1UnXY'
));

echo $response->success;

Поддерживаемые методы

Библиотека поддерживает большое количество методов api(https://developers.cloudpayments.ru/#api). Для параметров запроса и ответа поддерживается объект-обертка.

$apiClient = new \Flowwow\Cloudpayments\Library(\*...*\);
$apiClient->paymentsCardsCharge(\*...*\);
Метод api Метод library Объект Request Объект Response
payments/cards/charge paymentsCardsCharge TransactionWith3dsResponse TransactionWith3dsResponse
payments/cards/auth createPaymentByCard2Step TransactionWith3dsResponse TransactionWith3dsResponse
payments/tokens/charge executePaymentByToken TokenPayment TransactionResponse
payments/tokens/auth executePaymentByToken TokenPayment TransactionResponse
payments/confirm confirmPayment PaymentsConfirm CloudResponse
payments/void cancelPayment PaymentsVoid CloudResponse
payments/refund paymentsRefund PaymentsRefund TransactionResponse
payments/cards/topup paymentsCardsTopup CardsTopUp TransactionResponse
payments/token/topup paymentsTokenTopup TokenTopUp TransactionResponse
payments/get getPaymentData PaymentsGet TransactionResponse
payments/find getPaymentDataByInvoice PaymentsFind TransactionResponse
payments/list getListPayment PaymentsList TransactionArrayResponse
payments/tokens/list paymentsTokensList TokenList TokenArrayResponse
subscriptions/create subscriptionsCreate SubscriptionCreate SubscriptionResponse
subscriptions/get subscriptionsGet SubscriptionGet SubscriptionResponse
subscriptions/find subscriptionsFind SubscriptionFind SubscriptionArrayResponse
subscriptions/update subscriptionsUpdate SubscriptionUpdate SubscriptionResponse
subscriptions/cancel subscriptionsCancel SubscriptionCancel CloudResponse
orders/create ordersCreate OrderCreate OrderResponse
orders/cancel ordersCancel OrderCancel CloudResponse
site/notifications/{Type}/get siteNotificationsGet NotificationsGet NotificationResponse
site/notifications/{Type}/update siteNotificationsUpdate NotificationsUpdate CloudResponse
applepay/startsession startSession ApplepayStartSession AppleSessionResponse

Параметры запроса

Параметры запроса обернуты в dto-объект

...
$validationUrl = 'https://apple-pay-gateway.apple.com/paymentservices/startSession';
$request = new \Flowwow\Cloudpayments\Request\ApplepayStartSession($validationUrl);
$apiClient->startSession($request);

Библиотека может выбрасывать ошибку BadTypeException при формировании request-объекта

try {
    ...
    $validationUrl = 'https://apple-pay-gateway.apple.com/paymentservices/startSession';
    $request = new \Flowwow\Cloudpayments\Request\ApplepayStartSession($validationUrl);
    ...
} catch (\Flowwow\Cloudpayments\Exceptions\BadTypeException $e) {
    var_dump($e->getMessage());
}

Параметры ответа

Параметры ответа так же обернуты в dto-объект. CloudResponse имеет 3 свойства: success, message, model

В свойство model записывается нужная сущность, в зависимости от запроса.

Список поддерживаемых сущностей:

  • AppleSessionModel
  • NotificationModel
  • SubscriptionModel
  • TokenModel
  • TransactionModel
  • TransactionWith3dsModel

Уведомления

Библиотека включает в себя dto-объекты для параметров веб хуков

$hookData = new \Flowwow\Cloudpayments\Hook\HookPay($_POST);
echo $hookData->transactionId;

Список всех уведомлений - https://developers.cloudpayments.ru/#check

Webhook Объект
Check HookCheck
Pay HookPay
Fail HookFail
Confirm HookConfirm
Refund HookRefund
Recurrent HookRecurrent
Cancel HookCancel

Идемпотентность

Библиотека поддерживает идемпотентные запросы

...
$apiClient = new \Flowwow\Cloudpayments\Library(\*...*\);
$apiClient->setIdempotency(true);
$apiClient->createPaymentByCard2Step(\*...*\);
...

License

MIT

softinvest/cloudpayments-php-client 适用场景与选型建议

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

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

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