PHP中如何从Razorpay Payment对象中提取status状态字符串值
提取Razorpay Payment对象status属性的PHP实现方法
你提供的是Razorpay PHP SDK返回的Razorpay\Api\Payment实例,其存储业务字段的attributes属性为protected修饰,不可直接从类外部访问,SDK底层已经做了封装支持便捷读取,以下是具体实现方案:
- 方案1:使用SDK原生魔术方法读取(官方推荐,兼容性最好)
// 假设你已经通过SDK接口获取到Payment对象并赋值给$payment变量 $status = $payment->status; // 输出$status即可得到字符串值 captured echo $status;
- 方案2:以数组形式读取(SDK实现了ArrayAccess接口,支持该写法)
$status = $payment['status'];
- 方案3:反射读取(仅特殊场景下使用,不推荐常规业务使用)
$reflection = new ReflectionObject($payment); $attrProperty = $reflection->getProperty('attributes'); $attrProperty->setAccessible(true); $attributes = $attrProperty->getValue($payment); $status = $attributes['status'];
内容的提问来源于stack exchange,提问作者Developer Sudipto
相关产品推荐
相关产品推荐

