从 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 毫秒),因为存在速率限制。