1. userId と checkStateToken を取得する必要があります。
決済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';
}
}