arrow_back_ios

自分のウェブサイトで支払いを処理する際に、注文のステータスをどのように確認できますか?

1. userIdcheckStateToken を取得する必要があります。
決済API では、これらは決済作成の初回リクエストで提供されます。 すぐにこれらをお支払いページのパラメータに挿入できます。
2. 決済処理ページに、次のスクリプトを追加してください:
<script src="https://app.bukza.com/static/js/bukzaCheckState.js"></script>
3. DOMの準備ができたら、次のコードを実行してください:
var bukzaCheckState = new BukzaCheckState({
    userId: 12345,
    token: 'eyJVc2VySWQiOjIsIk9yZGVyS...Ws9In0%3D',
    handler: function (result) {
        console.log(result); //{isFinished:true, isValid:true, amount:99.99}
    }
});
bukzaCheckState.bind();
このスクリプトは注文の状態を確認します。 10秒ごとに結果を受け取り、ハンドラ関数を呼び出します。 ハンドラ内で結果を確認し、適切なアクションを実行できます:エラーを表示する、前のページに戻す、または成功ページを表示するなど。
userId および token の値が指定されていない場合、スクリプトはページのクエリパラメータ bukzaUserId および bukzaCheckStateToken から取得します。

サンプルコード

実際の例はページ https://app.bukza.com/paw.html のソースコードで確認できます。そこでは次のハンドラコードが使用されています:
handler: function (result) {
    if (result) {
        if (result.isFinished) {
            if (result.isValid) {
                //注文が正常に完了しました
                window.location.href = 'https://app.bukza.com/result.html?result=success&culture=en';
            } else {
                //注文は完了しましたが、何らかの理由で無効です
                window.location.href = 'https://app.bukza.com/result.html?result=warning&culture=en';
            }
        } else {
            if (result.isValid) {
                if (result.amount != window.amount) {
                    //支払金額が変更されたため、前のページに戻ります
                    window.history.go(-1);
                } else {
                    //問題ありません。支払いを待っています
                }
            } else {
                //注文が無効になったため、前のページに戻ります
                window.history.go(-1);
            }
        }
    }
    else {
        window.location.href = 'https://app.bukza.com/result.html?result=error&culture=en';
    }
}