我正在做payu自动化退款。在发送请求后,在上面 得到回应
$res = Array (
[status] => 0
[msg] => Refund FAILURE - Invalid amount
[error_code] => 105
[mihpayid] => 569611073
)
但是如果检查gettype($ res)它将作为字符串... 这里无法使用
获取键值和值对$res['status'] or $res['msg']
给予
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'status'
Filename: pgrefunds/pgrefunds.php
Line Number: 296
建议我如何获得kay值对...
答案 0 :(得分:1)
在PayU文档(https://developer.payubiz.in/documentation/Request-and-Response-format/110)中,您可以阅读以下这一行:
Web服务API默认以PHP 序列化字符串响应。
因此,您必须在使用之前对内容进行反序列化。取决于配置,内容可以作为JSON或"数组"表格(序列化)。取决于具体情况,您必须使用json_decode
或unserialize
。
答案 1 :(得分:0)
您很可能会收到序列化的回复。你应该反序列化字符串。
$resArr = unserialize($res);
$resArr['status'];
修改强>
正如其他答案显示另一个选项是json_decode()
$resArr = json_decode($res);
$resArr['status'];