bummzack/omnipay-postfinance

适用于 Omnipay 支付处理库的 Postfinance 网关

1.0.1 2022-07-12 11:21 UTC

This package is auto-updated.

Last update: 2024-09-12 15:49:11 UTC


README

适用于 Omnipay PHP 支付处理库的 Postfinance 网关。

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Latest Unstable Version License

Omnipay 是一个不依赖于框架、多网关的 PHP 5.3+ 支付处理库。

此网关通过 Postfinance 实现离线支付。购买和授权均可用,捕获授权支付必须通过 Postfinance 后端执行(目前此网关未实现)。

请注意:如果您不使用 SHA-OUT 签名,则此网关无法成功完成您的请求。如果您在 Postfinance 后端未设置 SHA-OUT 签名,回调 URL 将不提供任何参数,这将使得确定支付请求的成功或失败变得不可能。

安装

可以使用 Composer 安装 Omnipay。请参阅安装说明

运行以下命令以安装 omnipay 和 postfinance 网关

composer require bummzack/omnipay-postfinance ~1.0

Postfinance 后端配置

这是将您的 Postfinance 账户与 Omnipay 网关一起设置的最简单方法

  1. 全局安全参数 选项卡中,选择将 每个参数后面跟随密语。 作为哈希参数的方式。
  2. 哈希算法 可以自由选择,但必须在网关中作为 hashingMethod 参数提供,如果您使用的是默认以外的算法(sha1
  3. 请确保在 数据和来源验证 选项卡中提供 SHA-IN 密语
  4. 交易反馈 下,请确保勾选 我想在重定向 URL 上接收交易反馈参数 并且 提供一个 SHA-OUT 密语

基本用法

向 Postfinance 网关发出的支付请求至少需要提供以下参数

  • pspId 您的 postfinance 账户 ID
  • transactionId 唯一交易 ID
  • amount 货币金额
  • currency 货币
  • language 表示客户语言偏好的区域代码,例如:en_US

强烈建议在您的请求中使用 SHA-IN 和 -OUT 签名。

$gateway = Omnipay::create('Postfinance');
$gateway->setPspId('myPspId');
$gateway->setShaIn('MyShaInSecret');
$gateway->setShaOut('MyShaOutSecret');
$gateway->setLanguage('de_DE');

// Send purchase request
$response = $gateway->purchase(
    [
        'transactionId' => '17',
        'amount' => '10.00',
        'currency' => 'CHF'
    ]
)->send();

// This is a redirect gateway, so redirect right away
$response->redirect();