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

Joa*_*usi 1 codeigniter

我正在尝试使用 codeigniter 和 pesapal 测试我的支付模块,但我不断收到此错误“问题:parameter_rejected | Advice: invalid_value_for_amount> oauth_parameters_rejected | Ksh.4%2C999”。

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

Kin*_*ina 5

问题

您的金额有千位分隔符……类似于 Ksh.4,999,而不是传递像 4999 这样的整数值。

您要么使用逗号传递数量(您可以通过删除逻辑中的逗号来修复它),要么该number_format()方法正在添加千位分隔符(下面在解决方案中给出了解释)。

解决方案

根据PHP docs number_format()做这样的事情(仅限基本情况)......

// english notation (default)
$english_format_number = number_format($number);
// 1,235
Run Code Online (Sandbox Code Playgroud)

请注意它是如何添加 a,作为千位分隔符的。这就是正在转换(编码)为%2C. Pesapal 不理解,你传递给他们的数字。...停止使用千位运算符的功能做这样的事情...

// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
Run Code Online (Sandbox Code Playgroud)

第三个参数指定小数点分隔符(即.),第四个参数指定千位分隔符(一个空字符串)。

但正如@BabyAzerty 所说,如果没有代码,我们就无法为您提供帮助。我会在您为问题提供更多上下文时修改答案,但以上内容几乎是我在上面的问题和评论中阐述的实施中所看到的错误。