请求将PayPal定期付款历史转换为指定数组格式
搞定PayPal定期付款记录的数组格式转换
嘿,我明白你现在的困扰——零散的字段结构确实不方便每月核查P_TRANSTATE状态。下面是按照你需求转换后的数组格式,同时加了点优化,让每条付款记录的字段归类在一起,查看更清晰:
转换后的结构化数组
[ 'status' => 1, 'result' => [ 'HTTP/1_1_200_OK' => 0, 'RPREF' => 'RGX51B669592', 'PROFILEID' => '0', // 第一条月度付款记录 'monthly_payment_1' => [ 'P_PNREF' => 'BL0PEE6F2E98', 'P_TRANSTIME' => '25-Aug-17 04:46 AM', 'P_RESULT' => '0', 'P_TENDER' => 'CC', 'P_TRANSTATE' => 'Completed' // 重点核查的状态字段 ], // 第二条月度付款记录 'monthly_payment_2' => [ 'P_PNREF' => 'BL0PEE6F3E99', 'P_TRANSTIME' => '25-Sep-17 04:48 AM', 'P_RESULT' => '0', 'P_TENDER' => 'CC', 'P_TRANSTATE' => 'Completed' ] // 更多月度记录以此类推 ] ]
为什么这么调整?
我把原来带序号的零散字段(比如P_PNREF1、P_TRANSTATE1)按付款记录打包成了子数组,这样你要核查P_TRANSTATE时,直接遍历每个monthly_payment_*子数组就能快速拿到对应状态,不用再在一堆字段里找序号匹配的内容。
快速批量核查的代码示例
如果需要批量导出所有P_TRANSTATE状态,用这段PHP代码就能轻松搞定:
// 假设$paypalData是转换后的数组 foreach ($paypalData['result'] as $key => $payment) { if (str_starts_with($key, 'monthly_payment_')) { $month = explode('-', $payment['P_TRANSTIME'])[1]; echo "{$month}月付款状态:{$payment['P_TRANSTATE']}\n"; } }
这样每月的状态核查工作就高效多啦!
内容的提问来源于stack exchange,提问作者Vipul Jethva
相关产品推荐
相关产品推荐

