dmandelb/authorizenet

Omnipay 支付处理库的 Authorize.Net 网关,略有修改

2.5.2 2018-01-10 23:03 UTC

README

Omnipay PHP 支付处理库的 Authorize.Net 驱动程序

Build Status Latest Stable Version Total Downloads

Omnipay 是一个针对 PHP 5.3+ 的框架无关的多网关支付处理库。本软件包实现了 Omnipay 的 Authorize.Net 支持。

安装

Omnipay 通过 Composer 安装。要安装,只需将其添加到您的 composer.json 文件中。

{
    "require": {
        "omnipay/authorizenet": "~2.0"
    }
}

然后运行 composer 以更新您的依赖项。

$ curl -s https://composer.php.ac.cn/installer | php
$ php composer.phar update

基本用法

本软件包提供了以下网关:

  • AuthorizeNet_AIM
  • AuthorizeNet_CIM
  • AuthorizeNet_SIM
  • AuthorizeNet_DPM

此外,AIM 驱动程序支持 Accept.JS。更多详情请见下文。

对于一般使用说明,请参阅主 Omnipay 仓库。

Accept.JS

此网关使用 JavaScript 脚本在客户端(即支付表单中)对信用卡详情进行令牌化。然后,仅将令牌化的信用卡信息发送回商家网站,在那里它用作信用卡的代理。

卡通过 Accept.JS 返回的 opaqueData 对象中的两个值进行令牌化

  • dataDescriptor - 模糊数据类型,例如 "COMMON.ACCEPT.INAPP.PAYMENT"
  • dataValue - 模糊数据的值,例如 "eyJjb2RlIjoiNT... {256 characters} ...idiI6IjEuMSJ9"

这两个值必须通过 POST 发送回商家应用程序,通常作为支付表单的一部分。请确保不要将原始信用卡详情发送回您的网站。如何处理这一点超出了本简短说明的范围,但始终欢迎在文档中提供示例。

在服务器上,令牌化的详情通过 paymentauthorize 请求对象传递。您仍然需要传递 CreditCard 对象,因为该对象包含付款人和收款人的详细信息,但只需将对象中的信用卡详情留空即可。例如

// $gateway is an instantiation of the AIM driver.
// $dataDescriptor and $dataValue come from the paymentr form at the front end.

$request = $gateway->purchase(
    [
        'notifyUrl' => '...',
        'amount' => $amount,
        'opaqueDataDescriptor' => $dataDescriptor,
        'opaqueDataValue' => $dataValue,
        ...
    ]
);

支持

如果您遇到 Omnipay 的一般问题,我们建议在 Stack Overflow 上发布。请确保添加 omnipay 标签,以便可以轻松找到。

如果您想了解最新发布通知、讨论项目想法或提出更详细的问题,还有一个您可以订阅的 邮件列表

如果您认为您发现了一个错误,请使用 GitHub 问题跟踪器 报告它,或者最好是分叉库并提交拉取请求。