gpupo / adyen-sdk
此包已被废弃,不再维护。未建议替代包。
非官方SDK,用于PHP应用程序与Adyen API集成
v1.1.1
2017-10-24 11:04 UTC
Requires
- php: >=5.6
- ext-curl: *
- gpupo/common-sdk: ^2.2.4
Suggests
- monolog/monolog: Write Log messages
README
adyen-sdk
非官方SDK,用于PHP应用程序与Adyen REST API集成
要求
- PHP >= 5.4
- curl 扩展
安装
使用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()
- 实体是一个集合
支付响应装饰器——发票装饰器
- 自定义字段
- 通用字段
支付响应装饰器——捕获装饰器
- 自定义字段
- 通用字段
支付响应装饰器——信用卡装饰器
- 自定义字段
- 通用字段
支付响应装饰器——问题装饰器
- 自定义字段
- 通用字段
支付响应装饰器——退款装饰器
- 自定义字段
- 通用字段