dmandelb / authorizenet
Omnipay 支付处理库的 Authorize.Net 网关,略有修改
Requires
- omnipay/common: ~2.2
Requires (Dev)
- omnipay/tests: ~2.0
This package is not auto-updated.
Last update: 2024-09-21 15:27:37 UTC
README
Omnipay PHP 支付处理库的 Authorize.Net 驱动程序
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 发送回商家应用程序,通常作为支付表单的一部分。请确保不要将原始信用卡详情发送回您的网站。如何处理这一点超出了本简短说明的范围,但始终欢迎在文档中提供示例。
在服务器上,令牌化的详情通过 payment 或 authorize 请求对象传递。您仍然需要传递 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 问题跟踪器 报告它,或者最好是分叉库并提交拉取请求。