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