bsolus/mbway-sdk-php-hipay-comprafacil
Composer 安装命令:
composer require bsolus/mbway-sdk-php-hipay-comprafacil
包简介
HiPay Professional MB WAY SDK PHP
关键字:
README 文档
README
Create a transaction
use HipayMbway\MbwayClient;
use HipayMbway\MbwayRequestTransaction;
use HipayMbway\MbwayRequestTransactionResponse;
/*
* Account config
* $sandbox false if account is a production account
* $entity, $username, $password and $category are provided by customer management
*/
$sandbox = true;
$entity = 11249;
$username = "hpXXXXXX";
$password = "xxxxxxxx";
$category = 3;
/*
* Transaction parameters
*/
$notificationUrl = 'http://mynotificationurl.com';
$amount = 12;
$customerPhone = "9xxxxxxxx";
$customerEmail = "xxxxxxx@xxxxx.com";
$merchantId = "xxxxxx";
$orderDescription = "order description";
$customerVATNumber = "000000000";
$customerName = "John Doe";
/*
* Create a Transaction
*/
$mbway = new MbwayClient($sandbox);
$mbwayRequestTransaction = new MbwayRequestTransaction($username, $password, $amount, $customerPhone, $customerEmail, $merchantId, $category, $notificationUrl, $entity);
$mbwayRequestTransaction->set_description($orderDescription);
$mbwayRequestTransaction->set_clientVATNumber($customerVATNumber);
$mbwayRequestTransaction->set_clientName($customerName);
$mbwayRequestTransactionResult = new MbwayRequestTransactionResponse($mbway->createPayment($mbwayRequestTransaction)->CreatePaymentResult);
/*
* Check Transaction creation result
*/
if ($mbwayRequestTransactionResult->get_Success() && $mbwayRequestTransactionResult->get_ErrorCode() == "0") {
//vp1
$transactionId = $mbwayRequestTransactionResult->get_MBWayPaymentOperationResult()->get_OperationId();
print "SUCCESS - TRANSACTION CREATED WITH ID: $transactionId" . PHP_EOL;
} else {
print $mbwayRequestTransactionResult->get_MBWayPaymentOperationResult()->get_StatusCode() . PHP_EOL;
print $mbwayRequestTransactionResult->get_ErrorDescription() . PHP_EOL;
}
Check transaction status
use HipayMbway\MbwayClient;
use HipayMbway\MbwayRequestDetails;
use HipayMbway\MbwayRequestResponse;
use HipayMbway\MbwayRequestDetailsResponse;
use HipayMbway\MbwayRequestTransactionResponse;
use HipayMbway\MbwayPaymentDetailsResult;
/*
* Account config
* $sandbox false if account is a production account
* $entity, $username, $password and $category are provided by customer management
*/
$sandbox = true;
$entity = 11249;
$username = "hpXXXXXX";
$password = "xxxxxxxx";
/*
* Operation parameter
* $transactionId is the id returned on the transaction creation
*/
$transactionId = 'XXXXXXXXXXXXXXXXX';
/*
* Operation
*/
$mbway = new MbwayClient($sandbox);
$mbwayRequestDetails = new MbwayRequestDetails($username, $password, $transactionId, $entity);
$mbwayRequestDetailsResult = new MbwayRequestDetailsResponse($mbway->getPaymentDetails($mbwayRequestDetails)->GetPaymentDetailsResult);
/*
* Check Operation result
*/
if ($mbwayRequestDetailsResult->get_ErrorCode() <> 0 || !$mbwayRequestDetailsResult->get_Success()) {
print "Notification: Unable to confirm payment status. Operation returned: " . $mbwayRequestDetailsResult->get_ErrorDescription() . PHP_EOL;
} else {
$detailStatusCode = $mbwayRequestDetailsResult->get_MBWayPaymentDetails()->get_StatusCode();
$detailAmount = $mbwayRequestDetailsResult->get_MBWayPaymentDetails()->get_Amount();
$detailOperationId = $mbwayRequestDetailsResult->get_MBWayPaymentDetails()->get_OperationId();
switch ($detailStatusCode) {
case "c1":
print "MB WAY payment confirmed for transaction $transactionId." . PHP_EOL;
break;
case "c3":
case "c6":
case "vp1":
print "Waiting capture notification for transaction $transactionId." . PHP_EOL;
break;
case "ap1":
print "Refunded transaction $transactionId." . PHP_EOL;
break;
case "c2":
case "c4":
case "c5":
case "c7":
case "c8":
case "c9":
case "vp2":
print "MB WAY payment cancelled transaction $transactionId." . PHP_EOL;
break;
}
}
Process notification
use HipayMbway\MbwayNotification;
$entityBody = file_get_contents('php://input');
$notification = new MbwayNotification($entityBody);
if ($notification->get_isJson() === false) {
die("Invalid notification received.");
}
$notification_cart_id = $notification->get_ClientExternalReference();
$transactionId = $notification->get_OperationId();
$transactionAmount = $notification->get_Amount();
$transactionStatusCode = $notification->get_StatusCode();
switch ($transactionStatusCode) {
case "c1":
print "MB WAY payment confirmed for transaction $transactionId." . PHP_EOL;
break;
case "c3":
case "c6":
case "vp1":
print "Waiting capture notification for transaction $transactionId." . PHP_EOL;
break;
case "ap1":
print "Refunded transaction $transactionId." . PHP_EOL;
break;
case "c2":
case "c4":
case "c5":
case "c7":
case "c8":
case "c9":
case "vp2":
print "MB WAY payment cancelled transaction $transactionId." . PHP_EOL;
break;
}
Request a full or partial refund
use HipayMbway\MbwayClient;
use HipayMbway\MbwayRequestRefund;
use HipayMbway\MbwayRequestResponse;
use HipayMbway\MbwayRequestRefundResponse;
/*
* Account config
* $sandbox false if account is a production account
* $entity, $username, $password and $category are provided by customer management
*/
$sandbox = true;
$entity = 11249;
$username = "hpXXXXXX";
$password = "xxxxxxxx";
/*
* Operation parameter
* $transactionId is the id returned on the transaction creation
*/
$transactionId = 'XXXXXXXXXXXXXXXXX';
$refundAmount = 0.22;
/*
* Operation
*/
$mbway = new MbwayClient($sandbox);
$mbwayRequestRefund = new MbwayRequestRefund($username, $password, $transactionId, $refundAmount, $entity);
$mbwayRequestRefundResult = new MbwayRequestRefundResponse($mbway->requestRefund($mbwayRequestRefund)->RequestRefundResult);
/*
* Check Operation result
*/
if ($mbwayRequestRefundResult->get_ErrorCode() <> 0 || !$mbwayRequestRefundResult->get_Success()) {
//Refund not allowed
//The time elapsed since payment is insufficient.
//The request has already been made.
print "Unable to requested a refund for transaction $transactionId with amount $refundAmount Euros. Operation returned: " . $mbwayRequestRefundResult->get_ErrorDescription() . PHP_EOL;
} else {
print "MB WAY refund requested for transaction $transactionId with amount $refundAmount." . PHP_EOL;
}
Check refund status
use HipayMbway\MbwayClient;
use HipayMbway\MbwayRequestRefundDetails;
use HipayMbway\MbwayRequestResponse;
use HipayMbway\MbwayRequestRefundDetailsResponse;
use HipayMbway\MbwayRefundDetailsResult;
/*
* Account config
* $sandbox false if account is a production account
* $entity, $username, $password and $category are provided by customer management
*/
$sandbox = true;
$entity = 11249;
$username = "hpXXXXXX";
$password = "xxxxxxxx";
/*
* Operation parameter
* $transactionId is the id returned on the transaction creation
*/
$transactionId = 'XXXXXXXXXXXXXXXXX';
/*
* Operation
*/
$mbway = new MbwayClient($sandbox);
$mbwayRequestRefundDetails = new MbwayRequestRefundDetails($username, $password, $transactionId, $entity);
$mbwayRequestRefundDetaisResult = new MbwayRequestRefundDetailsResponse($mbway->getRequestRefundDetails($mbwayRequestRefundDetails)->GetRequestRefundDetailsResult);
/*
* Check Operation result
*/
if ($mbwayRequestRefundDetaisResult->get_ErrorCode() <> 0 || !$mbwayRequestRefundDetaisResult->get_Success()) {
//Item not found
print "Unable to get refund status for transaction $transactionId. Operation returned: " . $mbwayRequestRefundDetaisResult->get_ErrorDescription() . PHP_EOL;
} else {
$refundDetails = $mbwayRequestRefundDetaisResult->get_RefundDetails();
// New | Success | Unsuccess
$status = $refundDetails->get_Status();
switch($status) {
case $refundDetails::REFUND_STATUS_NEW:
print "MB WAY refund for transaction $transactionId is pending" . PHP_EOL;
break;
case $refundDetails::REFUND_STATUS_SUCCESS:
print "MB WAY refund for transaction $transactionId was successful" . PHP_EOL;
break;
case $refundDetails::REFUND_STATUS_UNSUCCESS:
print "MB WAY refund for transaction $transactionId is unsuccessful" . PHP_EOL;
break;
}
}
bsolus/mbway-sdk-php-hipay-comprafacil 适用场景与选型建议
bsolus/mbway-sdk-php-hipay-comprafacil 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 32.63k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 10 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「hipay」 「mbway」 「HipayMbway」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bsolus/mbway-sdk-php-hipay-comprafacil 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bsolus/mbway-sdk-php-hipay-comprafacil 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bsolus/mbway-sdk-php-hipay-comprafacil 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The HiPay Enterprise SDK for PHP is a library for developers who want to integrate HiPay Enterprise payment methods to any PHP platform.
PHP library to communicate with MB WAY API.
IfThenPay driver for the Omnipay Multi-Gateway payment processing library
Laravel library to communicate with SIBS - Open Payment Platform.
Official hipay wallet SDK as a composer package
A Laravel package for making payments through the EuPago API.
统计信息
- 总下载量: 32.63k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-31