lapaygroup / start2pay
Start 2 Pay PHP SDK
0.5.1
2017-02-28 10:13 UTC
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: 6.2.*
- symfony/yaml: ~3.2
This package is auto-updated.
Last update: 2024-09-15 22:17:06 UTC
README
PHP SDK 用于与 https://start2pay.com 服务集成
Start 2 Pay API 说明 https://wiki.start2pay.com
安装
可以使用 Composer 包管理器进行安装
composer require lapaygroup/start2pay
配置文件
为了使 SDK 正常工作,需要放置一个配置的 yaml 文件。示例可以在此查看 这里.
参数说明
- auth
- host - API 地址
- username - 登录名
- password - 密码
- salt - 用于创建上下文的盐
- callback_salt - 用于签名 callbacks 的盐
- display_options
- language - 支付页面的语言
- iframe - 标志,用于使用 iframe 而不是重定向到 Start 2 Pay 支付页面
- close_additional_tabs: - 标志,用于关闭所有额外的标签页
- device - 设备类型 (desktop, mobile)
- theme - 支付页面的颜色方案 (layout2_white, layout2_black, layout2_dark, layout2_violet)
- message - 对客户的消息。例如规则,限制等
- description - 在支付页面上显示的描述。
- disable_payment_currency - 此参数允许在传入 true 值时,在支付表单上只显示一个指定的货币 (currency),该货币是在创建支付上下文时使用的
- available_payment_systems - 包含支付方向输入和输出别名的数组,这些别名将可在支付页面上选择。
SDK 使用
要获取支付上下文(支付页面的链接或 iframe),需要使用 getContext 方法。
获取链接的示例
$payInfo['currency'] = 'RUB'; $payInfo['amount'] = '150.00'; $payInfo['invoice'] = '100'; $payInfo['user_id'] = '123456'; $payInfo['selected_payment_system'] = 'bank_cards'; try { $API = new \LapayGroup\Start2Pay\API('path/to/config.yml'); $context = $API->getContext($payInfo); if (! empty($context['payment_url']) { header('Location: '.$context['payment_url']); } else { // Обработка ошибки получения платежного контекста } } catch(\Exception $e) { // Обработка ошибки обмена с Start 2 Pay }
在收到 Start 2 Pay 的回调请求进行验证和支付时,也需要检查 JSON 数据中的参数 signature 的签名。为了验证签名,需要使用 validCallbackSignature 方法。该方法接受请求中的 JSON 文本作为输入。
验证签名的示例
try { $API = new \LapayGroup\Start2Pay\API('path/to/config.yml'); $valid = $API->validCallbackSignature($json); if ($valid) { // Подпись верна - обрабатываем callback } else { // Обрабатываем ошибку подписи } } catch(\Exception $e) { // Обработка ошибки обмена с Start 2 Pay }