【发布时间】:2013-09-30 17:59:39
【问题描述】:
我下载了 paypalplatform.php,不记得从哪里下载的,但它给了我一个不错的小功能,可以让我检查付款状态:
CallPaymentDetails( $payKey, $transactionId, $trackingId );
这会返回大量有用的数据,例如 status 和 paymentInfoList.paymentInfo(0).transactionStatus 等等。
我知道我可以写很多 if 语句来尝试解释当我调用 CallPaymentDetails 时返回给我的所有值,我觉得这很容易出错,或者可能导致我忽略场景。
所以我的问题是,是否存在一个将所有值都考虑在内的示例模板,也就是说,我不必重新发明轮子,它可以处理所有场景?
例如,目前我有:
$resArray = CallPaymentDetails( $payKey, $transactionId, $trackingId );
if(strtoupper($resArray["responseEnvelope.ack"]) == "SUCCESS") {
if(strtoupper($resArray["status"]) == "CREATED") {
// do something
} elseif(strtoupper($resArray["status"]) == "EXPIRED") {
// do something
} elseif(strtoupper($resArray["status"]) == "COMPLETED") {
// do something
if(strtoupper($resArray["paymentInfoList.paymentInfo(0).transactionStatus"]) == "PENDING") {
// do something
} elseif(strtoupper($resArray["paymentInfoList.paymentInfo(0).transactionStatus"]) == "FAILED") {
// do something
} else {
// what other value could be returned
}
} else {
// what other value could be returned
}
} else {
// what other value could be returned
}
如果我尝试做所有变量,我可能会一直试图捕捉所有场景,这就是为什么我想知道是否已经存在这样一个模板,它通过 if 语句满足所有场景?
【问题讨论】:
标签: php paypal paypal-adaptive-payments paypal-nvp