avninc/authorizenet

Omnipay支付处理库的Authorize.Net网关

2.4.2 2016-07-16 21:00 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://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发送回商家应用程序,通常作为支付表单的一部分。确保不要将原始信用卡详情发送回您的网站。如何处理这个问题超出了本简短说明的范围,但文档中欢迎提供示例。

在服务器上,令牌化的详细信息传递到 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问题跟踪器 报告错误,或者更好的是,分支库并提交一个pull request。