首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Paymill失败的事务-“”小于1个字符长

Paymill失败的事务-“”小于1个字符长
EN

Stack Overflow用户
提问于 2016-01-17 15:52:50
回答 1查看 66关注 0票数 1

我被这个错误困扰了很长一段时间,我想不出如何解决这个问题。我双倍,甚至三倍,检查数据传递给事务对象,但仍然找不出为什么它总是抛给我这个“'‘小于1个字符”错误信息。我甚至在互联网上找不到这条错误信息的文档。

简要概述我的代码的当前状态:

  1. 我的事务对象创建被包装在(\Paymill\Services\PaymillException)语句try..catch中。
  2. 正确创建客户端和支付对象。我能在我的佩米尔控制面板上看到那两个人。
  3. 我也将购物车数组传递给事务对象
  4. 项目描述是使用以下顺序派生的:trim(substr(html_entity_decode($item['description']), 0, 123)) . "..."
  5. 现正透过信用卡付款。
  6. 第一次付款成功,第二次失败

下面是部分异常对象输出:

代码语言:javascript
复制
[__PHP_Incomplete_Class_Name] => Paymill\Services\PaymillException
            [_errorMessage:Paymill\Services\PaymillException:private] => '' is less than 1 characters long
            [_responseCode:Paymill\Services\PaymillException:private] => 
            [_httpStatusCode:Paymill\Services\PaymillException:private] => 400
            [_rawObject:Paymill\Services\PaymillException:private] => 
            [message:protected] => '' is less than 1 characters long
            [string:Exception:private] => 
            [code:protected] => 400
...
[__PHP_Incomplete_Class_Name] => Paymill\Models\Request\Transaction
                                            [_amount:Paymill\Models\Request\Transaction:private] => 6613
                                            [_description:Paymill\Models\Request\Transaction:private] => Order ID: 111111-11111-1111
                                            [_currency:Paymill\Models\Request\Transaction:private] => EUR
                                            [_payment:Paymill\Models\Request\Transaction:private] => pay_1234566789
                                            [_client:Paymill\Models\Request\Transaction:private] => client_123456
                                            [_preauthorization:Paymill\Models\Request\Transaction:private] => 
                                            [_token:Paymill\Models\Request\Transaction:private] => 123456
                                            [_feeAmount:Paymill\Models\Request\Transaction:private] => 
                                            [_feePayment:Paymill\Models\Request\Transaction:private] => 
                                            [_feeCurrency:Paymill\Models\Request\Transaction:private] => 
                                            [_source:Paymill\Models\Request\Transaction:private] => 
                                            [_shippingAddress:Paymill\Models\Request\Transaction:private] => Array
                                                (
                                                    [name] => Full name
                                                    [street_address] => full address
                                                    [street_address_addition] => N/A
                                                    [city] => full city
                                                    [state] => state as well
                                                    [postal_code] => 123456
                                                    [country] => CC
                                                )

                                            [_billingAddress:Paymill\Models\Request\Transaction:private] => Array
                                                (
                                                    [name] => Full name
                                                    [street_address] => full address
                                                    [street_address_addition] => N/A
                                                    [city] => full city
                                                    [state] => state as well
                                                    [postal_code] => 123456
                                                    [country] => CC
                                                    [phone] => 123456
                                                )

                                            [_items:Paymill\Models\Request\Transaction:private] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [name] => full item name
                                                            [amount] => 123456
                                                            [description] => full description
                                                            [quantity] => 1
                                                            [item_number] => 123456-1
                                                            [url] => https://123123.html
                                                        )
...
[_shipping_amount:Paymill\Models\Request\Transaction:private] => 400
                                            [_handling_amount:Paymill\Models\Request\Transaction:private] => 
                                            [_mandateReference:Paymill\Models\Request\Transaction:private] => 
                                            [_id:protected] => 
                                            [_serviceResource:protected] => Transactions/
                                            [_filter:protected] => 
                                        )

                                    [1] => create
                                )

                        )

我就是这样开始交易的

代码语言:javascript
复制
$transaction->setClient($this->getClient()->getId())
                        ->setPayment($this->getPayment()->getId())
                        ->setToken($this->getToken())
                        ->setAmount($this->getBasket('total')*100)
                        ->setBillingAddress($billing_address)
                        ->setShippingAddress($shipping_address)
                        ->setCurrency($this->getConfig('currency'))
                        ->setItems($items)
                        ->setDescription("Order ID: " . $this->getBasket('cart_order_id'))
                        ->setShippingAmount($this->getBasket('shipping')['value']*100);
            $this->d($this->getClient());
            $r = $this->getRequest()->create($transaction);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 14:45:54

问题解决了。其中一个项目是空描述字段。奇怪的是,异常没有包括一个引起问题的字段名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34840303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档