複数の環境を処理する方法:PayPal Webhookによる開発、ステージング、本番環境?

ミルハット:

paypal webhookをテストして使用できる3つの環境が欲しいです。私の現在のアプローチは、paypal開発者ポータルのすべての環境に新しいWebhookを作成し、リクエストが到着したらその環境用かどうかを確認することです。paypalは複数のwebhook URLをどのように処理し、環境が正しくない場合はどのステータスコードを返す必要がありますか?

imsagar:

以下のようなクラスを作成して、アプリケーションの最初の部分を維持します。一度初期化させます。

class App {
    private static $env_status = null;
    private static $paypal_settings = [];

    const ENV_PRODUCTION = "production";
    const ENV_STAGING = "staging";
    const ENV_DEV = "development";

    public static function init() {
        // Set environment status.  
        // You can also parse domain name and depending on your domain, you can set the environment status.
        self::$env_status = getenv("ENV_STATUS");   // getenv() Gets from Environment variable. You'll need set clear_env = no in php config for this to work.

        switch(self::$env_status) {
            case App::ENV_PRODUCTION:
                self::$paypal_settings = [
                    "mode" => "live"
                    "clientID" => "PRODUCTION_CLIENT_ID" ,
                    "secret" => "PRODUCTION_SECRET" ,
                    "currency" => "USD",
                    "webhook" => "https://example.com/live_webhook_endpoint"
                ];

                break;

            case App::ENV_STAGING:
                self::$paypal_settings = [
                    "mode"=> "sandbox"
                    "clientID"=> "STAGING_CLIENT_ID" ,
                    "secret"=> "STAGING_SECRET" ,
                    "currency"=> "USD",
                    "webhook" => "https://example.com/staging_webhook_endpoint"
                ];

                break;

            default:
                // ENV_DEV settings
                self::$paypal_settings = [
                    "mode"=> "sandbox"
                    "clientID"=> "DEVELOPMENT_CLIENT_ID" ,
                    "secret"=> "DEVELOPMENT_SECRET" ,
                    "currency"=> "USD",
                    "webhook" => "https://example.com/development_webhook_endpoint"
                ];
                break;
        }
    }

    public static function env_status() {
        return self::$env_status;
    }

    public static function paypal_settings() {
        return self::$paypal_settings;
    }

    // You can also create seprate function if you just want webhook URL. 
    // You can define in different variable also if that's the case.
    public static function paypal_webhook_url() {
        return self::$paypal_settings['webhook'];
    }

} App::init();

次に、paypal設定を取得したいときはいつでも、アプリケーションのどこからでも呼び出すことができます。

$paypay_settings = App::paypal_settings();

または、paypal webhook URLだけが必要な場合

$paypal_webhook_url = App::paypal_webhook_url();

これにより、コードの他の部分で条件を維持する必要がなくなります。すべての条件が1か所に配置されるため、後で更新するのが簡単になります。

paypalは複数のwebhook URLをどのように処理しますか?

ステージング/開発環境でヒットするには、PayPalサンドボックスURLをヒットする必要があります。

環境が正しくない場合、どのステータスコードが返されますか?

HTTP400。これは無効なリクエストになるため。

参照:https : //developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

HyperText Transfer Protocol(HTTP)400 Bad Request応答ステータスコードは、クライアントエラーであると認識される何か(たとえば、不正な形式の要求構文、無効な要求メッセージフレーミング、または不正な要求)のために、サーバーが要求を処理できないか、または処理しないことを示します。ルーティング)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

開発/ステージング/本番環境を作成する方法

分類Dev

環境に応じてExpressjsアプリケーションを構成する方法は?開発、ステージング、本番のように?

分類Dev

ConfigureServicesで開発/ステージング/本番ホスティング環境を取得する方法

分類Dev

開発、ステージング、および本番環境を制御するときにDockerを使用する必要があるのはなぜですか?

分類Dev

CodePipelineで複数の環境を処理する方法は?

分類Dev

開発、ステージング、本番環境へのデプロイに同じADOパイプラインを使用する方法

分類Dev

Mavenで複数のテスト環境を処理する方法は?

分類Dev

Herokuでステージング環境と本番環境用に別々のAPIを使用するにはどうすればよいですか?

分類Dev

.envNodeJで複数の環境変数を処理する

分類Dev

企業がソフトウェア開発に開発/ステージング/本番環境を使用する場合のステージングテーブルの呼び方

分類Dev

ASP.NETCoreを使用したAngularプロジェクトテンプレートでローカルに開発環境を本番環境に設定する

分類Dev

コンテナを外部ネットワークから見えるようにし、本番環境でIPアドレスを処理する方法

分類Dev

Sailsjs 0.10.x:ステージング環境で本番環境のうなり声タスクを実行する方法

分類Dev

AzureWebジョブがAzureWebサイトの本番環境でスワップされないようにする方法<->ステージングスロット

分類Dev

Googleベータテストによるステージングサーバーと本番環境を指すAPKの管理

分類Dev

本番環境でDockerコンテナをスケーリングする方法

分類Dev

開発、テスト、本番環境でデータベースをどのように管理しますか?

分類Dev

gitを使用して本番環境にいるときに、ステージングからブランチをどのようにプルしますか?

分類Dev

さまざまな環境(ステージング、本番)用にSentryを構成する

分類Dev

本番環境と開発環境の両方でASP.NET5 DNXプロジェクトのアプリケーションベースパスを一貫して取得するにはどうすればよいですか?

分類Dev

開発環境にのみRubyがインストールされている本番環境でSassを使用できますか?

分類Dev

GOLANGで開発環境と本番環境を分離する

分類Dev

敏感な環境変数を安全に処理する方法は?

分類Dev

AWSの本番環境へのステージング

分類Dev

本番環境でPlay Framework 2データベースの進化を処理する方法

分類Dev

異なるはずの開発環境と本番環境の本番環境のログ

分類Dev

複数の開発者と本番環境で使用するためにMongoDBをセットアップする

分類Dev

Vapor-ステージングと本番環境にデプロイするためにフォルダーのサイズを増やす方法は?

分類Dev

開発、テスト、ステージング、および製品環境を互いに異なるものにするための優れた戦略

Related 関連記事

  1. 1

    開発/ステージング/本番環境を作成する方法

  2. 2

    環境に応じてExpressjsアプリケーションを構成する方法は?開発、ステージング、本番のように?

  3. 3

    ConfigureServicesで開発/ステージング/本番ホスティング環境を取得する方法

  4. 4

    開発、ステージング、および本番環境を制御するときにDockerを使用する必要があるのはなぜですか?

  5. 5

    CodePipelineで複数の環境を処理する方法は?

  6. 6

    開発、ステージング、本番環境へのデプロイに同じADOパイプラインを使用する方法

  7. 7

    Mavenで複数のテスト環境を処理する方法は?

  8. 8

    Herokuでステージング環境と本番環境用に別々のAPIを使用するにはどうすればよいですか?

  9. 9

    .envNodeJで複数の環境変数を処理する

  10. 10

    企業がソフトウェア開発に開発/ステージング/本番環境を使用する場合のステージングテーブルの呼び方

  11. 11

    ASP.NETCoreを使用したAngularプロジェクトテンプレートでローカルに開発環境を本番環境に設定する

  12. 12

    コンテナを外部ネットワークから見えるようにし、本番環境でIPアドレスを処理する方法

  13. 13

    Sailsjs 0.10.x:ステージング環境で本番環境のうなり声タスクを実行する方法

  14. 14

    AzureWebジョブがAzureWebサイトの本番環境でスワップされないようにする方法<->ステージングスロット

  15. 15

    Googleベータテストによるステージングサーバーと本番環境を指すAPKの管理

  16. 16

    本番環境でDockerコンテナをスケーリングする方法

  17. 17

    開発、テスト、本番環境でデータベースをどのように管理しますか?

  18. 18

    gitを使用して本番環境にいるときに、ステージングからブランチをどのようにプルしますか?

  19. 19

    さまざまな環境(ステージング、本番)用にSentryを構成する

  20. 20

    本番環境と開発環境の両方でASP.NET5 DNXプロジェクトのアプリケーションベースパスを一貫して取得するにはどうすればよいですか?

  21. 21

    開発環境にのみRubyがインストールされている本番環境でSassを使用できますか?

  22. 22

    GOLANGで開発環境と本番環境を分離する

  23. 23

    敏感な環境変数を安全に処理する方法は?

  24. 24

    AWSの本番環境へのステージング

  25. 25

    本番環境でPlay Framework 2データベースの進化を処理する方法

  26. 26

    異なるはずの開発環境と本番環境の本番環境のログ

  27. 27

    複数の開発者と本番環境で使用するためにMongoDBをセットアップする

  28. 28

    Vapor-ステージングと本番環境にデプロイするためにフォルダーのサイズを増やす方法は?

  29. 29

    開発、テスト、ステージング、および製品環境を互いに異なるものにするための優れた戦略

ホットタグ

アーカイブ