maib-ecomm / maib-sdk-php
maib电商API的PHP SDK
v1.1.0
2024-04-08 18:13 UTC
Requires
- php: >=5.6.0
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-09-24 06:57:03 UTC
README
maib电商API的PHP SDK
maib电商API文档: https://docs.maibmerchants.md
需求
PHP >= 5.6
以下PHP扩展是必需的
- curl
- json
安装
Composer
通过Composer安装
composer require maib-ecomm/maib-sdk-php
要使用此包,请使用Composer的自动加载功能
require_once 'vendor/autoload.php';
手动安装
下载最新版本并将在您的项目中包含config.php文件。
require_once('/path/to/examples/config.php');
使用Composer入门
添加SDK类
<?php
require_once 'vendor/autoload.php';
use MaibEcomm\MaibSdk\MaibAuthRequest;
use MaibEcomm\MaibSdk\MaibApiRequest;
添加项目配置
define('PROJECT_ID', 'YOUR_PROJECT_ID');
define('PROJECT_SECRET', 'YOUR_PROJECT_SECRET');
define('SIGNATURE_KEY', 'YOUR_SIGNATURE_SECRET');
项目激活后,将提供项目密钥和签名密钥。
签名密钥用于在回调URL上验证通知签名(/examples/callbackUrl.php)。
SDK使用示例
使用项目ID和项目密钥获取访问令牌
$auth = MaibAuthRequest::create()->generateToken(PROJECT_ID, PROJECT_SECRET);
// Save received data in your DB
$token = $auth->accessToken;
$tokenExpiresAt = time() + $auth->expiresIn;
$refreshToken = $auth->refreshToken;
$refreshExpiresAt = time() + $auth->refreshExpiresIn;
使用刷新令牌获取访问令牌
$auth = MaibAuthRequest::create()->generateToken($refreshToken);
// Save received data in your DB
$token = $auth->accessToken;
$tokenExpiresAt = time() + $auth->expiresIn;
$refreshToken = $auth->refreshToken;
$refreshExpiresAt = time() + $auth->refreshExpiresIn;
直接支付
// Set up payment required parameters
$data = array(
'amount' => 10.25,
'currency' => 'EUR',
'clientIp' => '135.250.245.121'
);
// Initiate Direct Payment
$pay = MaibApiRequest::create()->pay($data, $token);
// Save payment ID in your DB
$payUrl = $pay->payUrl;
$payId = $pay->payId;
// Redirect Client to the maib checkout page
header("Location: " . $payUrl);
die;
在回调URL上收到的支付状态和数据。
两步支付。支付授权(挂起)
// Set up payment required parameters
$data = array(
'amount' => 10.25,
'currency' => 'EUR',
'clientIp' => '135.250.245.121'
);
// Initiate Payment Authorization
$hold = MaibApiRequest::create()->hold($data, $token);
// Save payment ID in your DB
$payUrl = $hold->payUrl;
$payId = $hold->payId;
// Redirect Client to the maib checkout page
header("Location: " . $payUrl);
die;
在回调URL上收到的支付状态和数据。
两步支付。支付捕获(完成)
// Payment ID is required parameter
$data = array(
'payId' => 'f16a9006-128a-46bc-8e2a-77a6ee99df75'
);
// Complete 2-Step Payment
$complete = MaibApiRequest::create()->complete($data, $token);
// Display request response
$jsonData = json_encode($complete);
echo $jsonData;
// Receive Payment status and data
$payId = $complete->payId;
$cardNumber = $complete->cardNumber;
$status = $complete->status;
$statusMessage= $complete->statusMessage;
$confirmAmount = $complete->confirmAmount;
退款支付
// Payment ID is required parameter
$data = array(
'payId' => 'f16a9006-128a-46bc-8e2a-77a6ee99df75'
);
// Initiate Refund Payment
$refund = MaibApiRequest::create()->refund($data, $token);
// Display request response
$jsonData = json_encode($refund);
echo $jsonData;
// Receive Refund status
$payId = $refund->payId;
$status = $refund->status;
$statusMessage= $refund->statusMessage;
$refundAmount = $refund->refundAmount;
支付信息
// Payment ID
$id = 'f16a9006-128a-46bc-8e2a-77a6ee99df75';
// Initiate Payment Info
$payInfo = MaibApiRequest::create()->payInfo($id, $token);
// Display request response
$jsonData = json_encode($payInfo);
echo $jsonData;
// Receive Payment status and data
$payId = $payInfo->payId;
$status = $payInfo->status;
$statusMessage = $payInfo->statusMessage;
$amount = $payInfo->amount;
$currency = $payInfo->currency;
$cardNumber = $payInfo->cardNumber;
$rrn = $payInfo->rrn;
$approval = $payInfo->approval;
周期性支付。卡注册
// Set up required parameters
$data = array(
'email' => 'customer@example.com',
'billerExpiry' => '1230',
'currency' => 'EUR',
'clientIp' => '135.250.245.121'
);
// Initiate Card Registration for Recurring Payments
$saveRecurring = MaibApiRequest::create()->saveRecurring($data, $token);
// Save payId in your system
$payUrl = $saveRecurring->payUrl;
$payId = $saveRecurring->payId;
// Redirect Client to the maib checkout page
header("Location: " . $payUrl);
die;
在回调URL上收到的周期性支付数据(billerId/billerExpiry)。
周期性支付。执行周期性支付
// Set up required parameters
$data = array(
'billerId' => 't78i8006-458a-46bc-9e0a-89a6ee11df68',
'amount' => 6.25,
'currency' => 'EUR'
);
// Execute Recurring Payment
$executeRecurring = MaibApiRequest::create()->executeRecurring($data, $token);
// Display request response
$jsonData = json_encode($executeRecurring);
echo $jsonData;
// Save payment status and data in your system
$billerId = $executeRecurring->billerId;
$payId = $executeRecurring->payId;
$orderId = $executeRecurring->orderId;
$status = $executeRecurring->status;
$statusMessage= $executeRecurring->statusMessage;
$amount = $executeRecurring->amount;
$currency = $executeRecurring->currency;
$cardNumber = $executeRecurring->cardNumber;
$rrn = $executeRecurring->rrn;
$approval = $executeRecurring->approval;
一键支付。卡注册
// Set up required parameters
$data = array(
'email' => 'customer@example.com',
'billerExpiry' => '1230',
'currency' => 'EUR',
'clientIp' => '135.250.245.121'
);
// Initiate Card Registration for One-Click Payments
$saveOneclick = MaibApiRequest::create()->saveOneclick($data, $token);
// Save payId in your system
$payUrl = $saveOneclick->payUrl;
$payId = $saveOneclick->payId;
// Redirect Client to maib checkout page
header("Location: " . $payUrl);
die;
在回调URL上收到的支付数据(billerId/billerExpiry)。
一键支付。执行一键支付
// Set up required parameters
$data = array(
'billerId' => 't78i8006-458a-46bc-9e0a-89a6ee11df68',
'amount' => 6.25,
'currency' => 'EUR',
'clientIp' => '135.250.245.121'
);
// Execute One-Click Payment
$executeOneclick = MaibApiRequest::create()->executeOneclick($data, $token);
// Save payment ID in your DB
$payUrl = $executeOneclick->payUrl;
$payId = $executeOneclick->payId;
// Redirect Client to the maib checkout page for 3D-Secure authentication
header("Location: " . $payUrl);
die;
在回调URL上收到的支付状态和数据。