从 cron 批量获取 PayPal 授权
Capturing PayPal authorizations in batch from cron
正如我在标题中提到的,一旦满足条件,我将尝试从 cron 捕获 paypal 交易。假设有 25 个订单(所有订单都已授权等待捕获),现在我需要捕获它们。为了自动执行此操作,我使用了 curl 和 cron。但实际情况是此过程使服务器超载 + 可能需要太多时间才能完成(例如,如果有 250 个订单)。只是想问问也许有另一种更简单的方法来实现它。我做错了吗? cronjob php 文件代码如下:
function get_content($URL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
if ($db->total_records($rs) > 0) {//this is the condition which we are checking here
while($resultset = $db->fetch($rs)){
$data = get_content('https://'.$_SERVER['SERVER_NAME'].'/api/paypal/paypal_acts.php?capture_order_id='.$resultset['id']);
$data = json_decode($data);
$status = $data->status;
if ($status === 'COMPLETED' ) {
// success
//we are inserting the data into the DB and so on..
}
一切都适用于此流程,但例如假设有 5 个订单。完成需要 3-5 秒。试想一下,如果超过100个订单,需要多少钱?应该有更方便的方法。我无法在结帐时立即捕获,因为我需要在捕获之前验证一些内容。
您所描述的是批量抓取这么多授权的情况,完全正常。
事实上,PayPal 建议您在每次通话之间休眠 5 秒(5000 毫秒),因为存在速率限制。
正如我在标题中提到的,一旦满足条件,我将尝试从 cron 捕获 paypal 交易。假设有 25 个订单(所有订单都已授权等待捕获),现在我需要捕获它们。为了自动执行此操作,我使用了 curl 和 cron。但实际情况是此过程使服务器超载 + 可能需要太多时间才能完成(例如,如果有 250 个订单)。只是想问问也许有另一种更简单的方法来实现它。我做错了吗? cronjob php 文件代码如下:
function get_content($URL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
if ($db->total_records($rs) > 0) {//this is the condition which we are checking here
while($resultset = $db->fetch($rs)){
$data = get_content('https://'.$_SERVER['SERVER_NAME'].'/api/paypal/paypal_acts.php?capture_order_id='.$resultset['id']);
$data = json_decode($data);
$status = $data->status;
if ($status === 'COMPLETED' ) {
// success
//we are inserting the data into the DB and so on..
}
一切都适用于此流程,但例如假设有 5 个订单。完成需要 3-5 秒。试想一下,如果超过100个订单,需要多少钱?应该有更方便的方法。我无法在结帐时立即捕获,因为我需要在捕获之前验证一些内容。
您所描述的是批量抓取这么多授权的情况,完全正常。
事实上,PayPal 建议您在每次通话之间休眠 5 秒(5000 毫秒),因为存在速率限制。