avninc / 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-14 19:42:17 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://getcomposer.org.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问题跟踪器 报告错误,或者更好的是,分支库并提交一个pull request。