pinDENA / omnipay-vipps
Omnipay支付处理库的Vipps驱动程序
v1.0.16
2023-09-15 18:05 UTC
Requires
- omnipay/common: ~3.0
Requires (Dev)
- omnipay/tests: ^4.1
- squizlabs/php_codesniffer: ^3.0
README
Omnipay PHP支付处理库的Vipps驱动程序
Omnipay 是一个与框架无关、多网关的PHP支付处理库。此包实现了Omnipay的Vipps支持。
安装
Omnipay通过 Composer 安装。要安装,只需使用Composer要求 league/omnipay
和 pindena/omnipay-vipps
composer require league/omnipay pindena/omnipay-vipps
基本用法
此包提供了以下网关
- Vipps (Vipps Ecomm Checkout)
有关一般用法说明,请参阅主要的 Omnipay 存储库和 Vipps 文档。
初始化网关、授权并重定向到Vipps
use Pindena\Omnipay\Vipps\Gateway; $gateway = new Gateway(); $gateway->initialize([ 'clientId' => '', 'clientSecret' => '', 'ocpSubscription' => '', 'merchantSerialNumber' => '', ]); $response = $gateway->authorize([ 'amount' => '10.00', 'currency' => 'NOK', 'description' => 'This is a test transaction', 'phone' => $_POST['phone'], 'returnUrl' => $fallbackUrl, 'notifyUrl' => $callbackPrefix, ])->send(); if ($response->isRedirect()) { $response->redirect(); }
捕获授权金额
$response = $gateway->capture([ 'amount' => $amount, 'description' => 'This is a test transaction', 'transactionReference' => $transactionReference, ])->send();
获取交易详情
$response = $gateway->completeAuthorize(['transactionReference' => $transactionReference])->send();
调试头部信息
Vipps要求合作伙伴和平台在所有请求中发送特殊头部。这可以通过在初始化选项或每个请求中添加头部信息来实现。
$gateway->initialize([ 'clientId' => '', 'clientSecret' => '', 'ocpSubscription' => '', 'merchantSerialNumber' => '', 'headers' => [ 'Vipps-System-Name' => 'System name', 'Vipps-System-Version' => 'v1.0', ], ]);
特性
Vipps会向 notifyUrl]/v2/payments/[orderId]
发送一个 notify
-请求。对于Laravel,这意味着您需要在 web.php
中注册一个 POST
路由,监听 /v2/payments/{orderId}
以处理来自Vipps的支付通知。
范围之外
Omnipay不涵盖周期性支付或账单协议,因此这些功能不包括在此包中。欢迎对网关进行扩展。
支持
如果您遇到Omnipay的一般问题,我们建议在 Stack Overflow 上发布。请确保添加 omnipay 标签,以便易于查找。
如果您想了解发行公告,讨论项目的想法或提出更详细的问题,还有一个您可订阅的 邮件列表。
如果您认为您已发现一个错误,请使用 GitHub问题跟踪器 报告它,或者最好是分叉库并提交一个pull请求。