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';
    }
}