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() - 实体是一个集合
支付响应装饰器——发票装饰器
- 自定义字段
- 通用字段
支付响应装饰器——捕获装饰器
- 自定义字段
- 通用字段
支付响应装饰器——信用卡装饰器
- 自定义字段
- 通用字段
支付响应装饰器——问题装饰器
- 自定义字段
- 通用字段
支付响应装饰器——退款装饰器
- 自定义字段
- 通用字段