itelmenko / alba-client-php
Alba 客户端
1.0.8
2019-06-20 14:51 UTC
Requires
- php: >=5.6.0
- ext-json: *
README
库包含两个基本类 AlbaService 和 AlbaCallback,用于继承。
AlbaService - Alba 中的服务。允许获取可用的支付方式列表,初始化交易,获取交易信息。每个现有服务都需要创建一个实例。
AlbaCallback - Alba 的回调处理器。检查签名并调用相应于“command”参数的方法。
工作过程中可能会抛出 AlbaException 异常。
初始化交易的示例使用
$service = new AlbaService(<service-id>, '<service-secret>');
try {
$service->initPayment('mc', 10, 'Test', 'test@example.com', '71111111111');
} catch (AlbaException $e) {
echo $e->getMessage();
}
回调使用的示例
class MyAlbaCallback extends AlbaCallback {
public function callbackSuccess($data) {
// фиксирование успешной транзакции
}
}
$service1 = new AlbaService(<service1-id>, '<service1-secret>');
$service2 = new AlbaService(<service2-id>, '<service2-secret>');
$callback = new MyAlbaCallback(array($service1, $service2]));
$callback->handle(<массив-c-POST-данными>)
进行递归支付使用的示例
$service = new AlbaService(<service-id>, '<service-secret>');
try {
// Получение токена.
// Доступно олько для тех сервисов у которых доступна данная опция
// Остальные сервисы должны иницировать оплату без использования background API
$token = $service->createCardToken(
'4300000000000777', 11, '19', '123', True
);
echo "Card token: " . $token;
} catch (AlbaException $e) {
echo $e->getMessage();
}
try {
// Инициация первого рекуррентного платежа
$first_order_id = 'first-' . uniqid();
$recurrent_params = RecurrentParams::first_pay(
// Ссылка на подробное описание правил предоставления рекуррентного платежа
'http://example.com/rules',
// Текстовое описание за что производится регистрация РП
'Test'
);
$service->initPayment(
'spg_test',
10,
'Test',
'test@example.com',
'71111111111',
$first_order_id,
'partner',
$token,
$recurrent_params
);
} catch (AlbaException $e) {
echo $e->getMessage();
}
try {
// Инициация последующего рекуррентного платежа
$recurrent_params = RecurrentParams::next_pay(
// order_id первого рекуррентного платежа
$first_order_id
);
$service->initPayment(
'spg_test',
10,
'Test',
'test@example.com',
'71111111111',
uniqid(), // order_id текущего платежа
'partner',
$token,
$recurrent_params
);
} catch (AlbaException $e) {
echo $e->getMessage();
}