Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Codeigniter和Pesapal解决无效参数错误_Codeigniter - Fatal编程技术网

如何使用Codeigniter和Pesapal解决无效参数错误

如何使用Codeigniter和Pesapal解决无效参数错误,codeigniter,Codeigniter,我试图使用codeigniter和pesapal测试我的支付模块,但我不断收到以下错误“问题:参数被拒绝|建议:无效的(金额)值(u>oauth)参数被拒绝| Ksh.4%2C999” 这里是Ksh。4%2C999是ksh的账单。4999我使用了正确的Pesapal钥匙,所以我不知道我做错了什么 问题 您的金额有一千个分隔符。。。类似于Ksh.4999,而不是传递一个类似于4999的整数值 要么是用逗号传递金额(可以通过删除逻辑中的逗号来修复),要么是number\u format()方法添加了

我试图使用codeigniter和pesapal测试我的支付模块,但我不断收到以下错误“问题:参数被拒绝|建议:无效的(金额)值(u>oauth)参数被拒绝| Ksh.4%2C999”


这里是Ksh。4%2C999是ksh的账单。4999我使用了正确的Pesapal钥匙,所以我不知道我做错了什么

问题

您的金额有一千个分隔符。。。类似于Ksh.4999,而不是传递一个类似于4999的整数值

要么是用逗号传递金额(可以通过删除逻辑中的逗号来修复),要么是
number\u format()
方法添加了千位分隔符(下面在解决方案中给出了解释)

解决方案

根据
number\u format()
执行类似操作(仅适用于基本情况)

注意它是如何添加一个
作为千位分隔符的。这就是正在转换(编码)为
%2C
的内容。Pesapal无法理解带有
的数字,而这正是您传递给他们的。。。要停止函数使用数千运算符,请执行以下操作

// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
第3个参数指定十进制分隔符(即
),第4个参数指定千位分隔符(即空字符串)


但是正如@BabyAzerty所说的,没有代码,我们就没有什么可以帮助您的了。我会根据您对问题给出的更多背景来修改答案,但我认为上述问题和评论中详细阐述的实现存在很大的问题。

问题

        $amount1 = (integer)$data->amount;
        $amount = number_format($amount1, 2, '.', '');//format amount to 2 decimal places
        $desc = $data->phone_type;
        $type = "MERCHANT"; //default value = MERCHANT
        $reference = $data->reference;//unique order id of the transaction, generated by merchant
        $first_name = $data->name1;
        $last_name = $data->name2;
        $email = $data->email;
        $phonenumber = $data->mobile;//ONE of email or phonenumber is required
您的金额有一千个分隔符。。。类似于Ksh.4999,而不是传递一个类似于4999的整数值

要么是用逗号传递金额(可以通过删除逻辑中的逗号来修复),要么是
number\u format()
方法添加了千位分隔符(下面在解决方案中给出了解释)

解决方案

根据
number\u format()
执行类似操作(仅适用于基本情况)

注意它是如何添加一个
作为千位分隔符的。这就是正在转换(编码)为
%2C
的内容。Pesapal无法理解带有
的数字,而这正是您传递给他们的。。。要停止函数使用数千运算符,请执行以下操作

// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
第3个参数指定十进制分隔符(即
),第4个参数指定千位分隔符(即空字符串)


但是正如@BabyAzerty所说的,没有代码,我们就没有什么可以帮助您的了。我会根据您对问题的解释修改答案,但我认为您在上述问题和评论中阐述的实现存在很大的错误。

此错误意味着您在Pesapal上的帐户对其可交易的金额有限制。默认情况下,金额通常设置为10美元或等值的当地货币

        $amount1 = (integer)$data->amount;
        $amount = number_format($amount1, 2, '.', '');//format amount to 2 decimal places
        $desc = $data->phone_type;
        $type = "MERCHANT"; //default value = MERCHANT
        $reference = $data->reference;//unique order id of the transaction, generated by merchant
        $first_name = $data->name1;
        $last_name = $data->name2;
        $email = $data->email;
        $phonenumber = $data->mobile;//ONE of email or phonenumber is required

您需要联系support.pesapal.com上的团队,通过提交业务合同和文档来完成注册,以便激活帐户进行完整交易。

此错误意味着您在pesapal上的帐户对其可以交易的金额有限制。默认情况下,金额通常设置为10美元或等值的当地货币


您需要联系support.pesapal.com上的团队,通过提交业务合同和文档来完成注册,以便激活帐户进行完整交易。

无代码=无帮助,因此worksI添加了此行$amount=number_格式((双)$amount,2);但我现在仍然得到这个错误:问题:参数被拒绝|建议:无效的_值_for _amount>oauth _参数被拒绝| 0.00No code=无帮助,这就是为什么我添加了这行$amount=number_格式((双)$amount,2);但我现在仍然得到这个错误:问题:参数被拒绝|建议:无效的|值|为|金额>oauth |参数被拒绝| 0.00我有问题,我做了@kingori maina建议的事情,但得到的问题:参数被拒绝|建议:无效的|值|金额|超过|限额>oauth |参数被拒绝124999.00我有问题,我按照@kingori maina的建议做了,但遇到了问题:参数|拒绝|建议:无效|值|金额|超过|限制>oauth |参数|拒绝124999.00