gpupo/adyen-sdk

此包已被废弃,不再维护。未建议替代包。

非官方SDK,用于PHP应用程序与Adyen API集成

v1.1.1 2017-10-24 11:04 UTC

This package is auto-updated.

Last update: 2020-02-11 18:21:06 UTC


README

Build Status Scrutinizer Code Quality Code Climate Test Coverage Paypal Donations

adyen-sdk

非官方SDK,用于PHP应用程序与Adyen REST API集成

要求

安装

使用composer将包 adyen-sdk 添加到您的项目中

composer require gpupo/adyen-sdk

使用

初始设置

//...
use Gpupo\AdyenSdk\Factory;

$adyenSdk = Factory::getInstance()->setup([
    'client_user'       => 'foo',
    'client_password'   => 'bar',
    'version'           => 'test'
]);
参数 描述 可能值
client_user webservice 用户 字符串
client_password webservice 用户密码 字符串
merchant_account Adyen账户标识 字符串
version 环境标识 test, live (生产)
registerPath 当提供时,将每个请求执行的数据注册到指定的目录

记录(日志)

//...
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
//..
$logger = new Logger('foo');
$logger->pushHandler(new StreamHandler('Resources/logs/main.log', Logger::DEBUG));
$adyenSdk->setLogger($logger);

交易

以下示例中,假设 $data 拥有 这个结构

创建一个新的信用卡交易

//...
$request = $adyenSdk->createRequest($data);
$request->setEncryptedData($hash);
$manager = $adyenSdk->factoryManager('request');
$response = $manager->submit($request);

创建一个新的银行汇票交易

//...
$request->setType('boleto');
$response = $manager->submit($request); //acesso à url do boleto e outras informações
$response->getBarCodeReference(); // Linha digitável
$response->getExpirationDate(); // Data de Vencimento
$response->getUrl(); // Url Do Boleto
$response->getData(); // Parâmetro usado para compor a url para o boleto

捕获一个信用卡交易

//...
$request = $adyenSdk->createRequest($data);
$response = $manager->capture($request);

在一个交易中部分退款

//...
$request = $adyenSdk->createRequest($data);
$response = $manager->refund($request, 10.99);

上述示例中执行了10.99 R$的退款

取消一个交易

//...
$request = $adyenSdk->createRequest($data);
$response = $manager->cancelOrRefund($request);

每个响应中包含的信息

$response->getResultCode() 的可能值

描述
授权
拒绝
错误
取消
接收
重定向购物者

$response->getCode() 的可能值

描述
200 请求处理正常
400 读取或理解请求存在问题
401 需要认证
403 处理请求的权限不足
404 未找到
422 请求验证错误
500 服务器无法处理请求

错误

$response->getErrorCode() 的可能值

描述
0 未知
10 不允许
100 未指定金额
101 无效的卡号
102 无法确定变体
103 CVC码长度不正确
104 账单地址问题
105 发卡行返回的paRes无效
106 此会话已被之前使用
107 未启用周期性支付
108 无效的银行账户号码
109 无效的变体
110 缺少银行详细信息
111 指定的无效的银行国家代码
112 不支持此银行国家
113 未提供发票行
114 收到错误的发票行
115 总金额与行之和不同
116 无效的出生日期
117 无效的账单地址
118 无效的送货地址
119 无效的购物者姓名
120 缺少购物者电子邮件
121 缺少购物者参考
122 缺少电话号码
123 电话号码应为手机号码
124 无效的电话号码
125 指定的周期性合同无效
126 银行账户或银行位置ID无效或缺失
127 缺少账户持有人
128 缺少卡持有人
129 失效日期无效
130 缺少参考
131 账单地址问题(城市)
132 账单地址问题(街道)
133 账单地址问题(房屋号码或名称)
134 账单地址问题(国家)
135 账单地址问题(州或省)
136 无法检索OpenInvoiceLines
137 指定的金额无效
138 指定的货币不受支持
139 周期性支付需要购物者电子邮件和购物者参考
140 无效的到期月份[1..12] / 到期年份[>2000],或早于现在
141 无效的到期月份[1..12] / 到期年份[>2000]
142 银行名称或银行位置无效或缺失
143 提交的总iDeal商户返回URL长度为{0},但此请求的最大大小为{1}
144 无效的开始月份[1..12] / 开始年份[>2000],或在将来
145 无效的发行国家代码
146 无效的社会保障号码
147 送货地址问题(城市)
148 送货地址问题(街道)
149 送货地址问题(房屋号码或名称)
150 送货地址问题(国家)
151 送货地址问题(州或省)
152 分期付款次数无效
153 无效的CVC
154 未指定额外数据
155 未指定收购方
156 未指定授权MID
157 未指定字段
158 未指定必需字段{0}
159 请求数量无效
160 不允许存储支付详情
161 无效的iban
162 iban不一致
163 无效的bic
164 自动捕获延迟无效或超出范围
165 MandateId不匹配模式
166 此操作不允许金额
167 此操作需要原始pspReference
168 此操作需要授权代码
170 需要生成日期但缺失
171 无法解析生成日期
172 在有效时间外使用加密数据
173 无法加载用于解密的私钥
174 无法解密数据
175 无法解析JSON数据
180 无效的购物者参考
181 无效的购物者电子邮件
182 无效的所选品牌
183 无效的周期性合同
184 无效的周期性详细信息名称
185 无效的附加数据
186 缺少附加数据字段
187 无效的附加数据字段
188 无效的pspEchoData
189 无效的购物者声明
190 无效的购物者IP
191 未指定参数
192 无效的字段{0}
193 未找到给定卡号的Bin详细信息
194 缺少账单地址
600 未提供发票项目
601 未提供发票批次
602 未指定债权人账户
603 未指定项目代码
604 未找到债权人账户
605 未找到项目
606 无法创建发票项目
607 发票批次已存在
608 无法创建发票批次
609 发票批次有效期已过
610 未找到催款配置
611 无效的催款配置
690 存储债务人时出错
691 存储发票时出错
692 检查发票是否已存在于债权人账户时出错
693 搜索发票时出错
694 为creditAccount未配置发票配置
695 为creditAccount配置的发票配置无效
700 未指定方法
701 服务器无法处理请求
702 请求解析问题
800 未找到合同
801 定义了过多的PaymentDetails
802 合同无效
803 未找到PaymentDetail
804 禁用失败
805 提供的recurring-contract不支持RecurringDetailReference
806 此支付方式没有剩余的适用合同类型
901 商户账户无效
902 没有请求就不应该到达这里!
903 内部错误
904 无法处理
905 不支持支付详情
906 无效请求:原始pspReference在此环境中无效!
907 不支持US支付详情
908 无效请求
950 无效的AcquirerAccount
951 配置错误(acquirerIdentification)
952 配置错误(acquirerPassword)
953 配置错误(apiKey)
954 配置错误(redirectUrl)
955 配置错误(AcquirerAccountData)
956 配置错误(currencyCode)
957 配置错误(terminalId)
958 配置错误(serialNumber)
959 配置错误(password)
960 配置错误(projectId)
961 配置错误(merchantCategoryCode)
962 配置错误(merchantName)
963 无效的公司注册号
964 无效的公司名称
965 缺少公司详细信息
966 配置错误(privateKeyAlias)
967 配置错误(publicKeyAlias)
1000 Incontrol虚拟卡请求不能指定卡号
1001 Incontrol虚拟卡请求不允许 recurring
1002 提供的授权类型无效

对象属性

以下列表是自动从单元测试执行输出生成的

Client\Client

  • 访问client
  • 设置options成功
  • 管理资源uri

Factory

  • 集中创建对象

Payment\Request\Decorator\BoletoDecorator

  • 转换为json

Payment\Request\Decorator\CreditCardDecorator

  • 转换为json

Payment\Request\Manager

  • 是请求管理员
  • 执行新的发票请求并返回特定对象
  • 执行信用卡支付授权并返回特定对象
  • 在失败的请求中返回有问题的对象
  • 执行捕获请求
  • 执行Refund()请求
  • 执行CancelOrRefund()请求

Payment\Request\Order\Order

  • 具有getId()方法来访问Id
  • 具有setId()方法来定义Id
  • 具有getShopper()方法来访问Shopper
  • 具有setShopper()方法来定义Shopper
  • 具有getAmount()setAmount()方法来访问和定义Amount
  • 具有getAmountInt()方法来访问和定义Amount为“minor units”格式
  • 具有getBillingAddress()方法来访问BillingAddress
  • 具有setBillingAddress()方法来定义BillingAddress
  • 具有getShippingAddress()方法来访问ShippingAddress
  • 具有setShippingAddress()方法来定义ShippingAddress
  • 具有getInstallments()方法来访问Installments
  • 具有setInstallments()方法来定义Installments
  • 具有getDeliveryDate()方法来访问DeliveryDate
  • 具有setDeliveryDate()方法来定义DeliveryDate
  • 具有getCreatedAt()方法来访问CreatedAt
  • 具有setCreatedAt()方法来定义CreatedAt
  • 实体是一个集合

支付请求订单购物者

  • 具有访问FirstName的方法 getFirstName()
  • 具有定义FirstName的方法 setFirstName()
  • 具有访问LastName的方法 getLastName()
  • 具有定义LastName的方法 setLastName()
  • 具有访问Ip的方法 getIp()
  • 具有定义Ip的方法 setIp()
  • 具有访问Email的方法 getEmail()
  • 具有定义Email的方法 setEmail()
  • 具有通过左填充(左侧加零)访问SocialSecurityNumber的方法 getSocialSecurityNumber()
  • 具有定义SocialSecurityNumber的方法 setSocialSecurityNumber()
  • 实体是一个集合

支付请求请求

  • 具有访问Order的方法 getOrder()
  • 具有定义Order的方法 setOrder()
  • 具有访问Type的方法 getType()
  • 具有定义Type的方法 setType()
  • 具有访问EncryptedData的方法 getEncryptedData()
  • 具有定义EncryptedData的方法 setEncryptedData()
  • 实体是一个集合

支付响应装饰器——发票装饰器

  • 自定义字段
  • 通用字段

支付响应装饰器——捕获装饰器

  • 自定义字段
  • 通用字段

支付响应装饰器——信用卡装饰器

  • 自定义字段
  • 通用字段

支付响应装饰器——问题装饰器

  • 自定义字段
  • 通用字段

支付响应装饰器——退款装饰器

  • 自定义字段
  • 通用字段