過去数年間、SaaS アプリの複数の監査レポートを作成してきました。ほとんどのロジックでは、PayPal API を使用して完全なトランザクション リストを取得し (TransactionSearch を使用)、各トランザクションの詳細を取得します (GetTransactionDetails を使用)。
その意図は、受け取った定期支払いのデータベース レコードを最新の PayPal データと並べて、IPN などを見逃していないことを確認することです。
これは、約1か月前までは正常に機能していました。
最近、ほとんどのトランザクションでサブスクリプション ID が欠落しています。
以前は、サブスクリプション ID は "SUBSCRIPTIONID" NVP フィールドに含まれていました。これはすべてのトランザクションに存在しなくなりました。また、サブスクリプション ID を含む他のフィールドが返されていません。ただし、他のすべてのフィールドはそこにあるように見えるので、呼び出しが機能していることがわかります。NVP 応答にサブスクリプション ID がないだけです。また、同じトランザクションで送信された IPN にサブスクリプション ID が含まれていることも確認しました。
私のコードは古い API バージョン (108.0) を使用しています。理論的には、PayPal が API の動作を変更することは決してないので、1 か月前の同じコードベースでの結果がもはや同じではない理由について、私は困惑しています。
最新の API バージョン (124.0) を試してみたところ、108 を超えるトランザクションのサブスクリプション ID が提供されましたが、すべてではありませんでした。
私はここで完全に困惑しています。誰にも手がかりはありますか?
PayPal のサポートに問い合わせたくないのは、まったく助けが得られないのに 3 週間かかるからです :-)