実装ガイド: ペイメント
ホストページを使用して支払いシステムを導入
基本的な流れは以下となります。
return_url
を指定してセッションを作成します- 御社のアプリケーションから
session_url
に顧客をリダイレクトさせます - 決済が完了またはキャンセルされたら、顧客が
return_url
にリダイレクトされます(redirect_url
の後にsession_id
のクエリーパラメータが付きます) - 御社のシステムから
session_id
を使用して決済の状態を確認します
💴
決済セッションの作成(最小構成)
Open Recipe
コードサンプル
例として、基本的な流れをJavaScriptで実装すると以下のようになります。
import fetch from 'node-fetch'
import express from 'express'
const app = express()
const secretKey = 'PASTE YOUR SECRET KEY HERE'
/*
* When your customer is ready to pay, create a session and redirect to the session URL.
*/
app.get('/', async (req, res) => {
const session = await fetch('https://komoju.com/api/v1/sessions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Basic ${btoa(secretKey + ':')}`,
},
body: JSON.stringify({
amount: 1000,
currency: 'JPY',
return_url: req.protocol + '://' + req.get('host') + '/return',
})
}).then(r => r.json())
console.log(session)
res.redirect(session.session_url)
})
/*
* When the customer is done, they will be redirected to the return URL you specified above.
*/
app.get('/return', async (req, res) => {
const sessionID = req.query['session_id']
const session = await fetch(`https://komoju.com/api/v1/sessions/${sessionID}`, {
method: 'GET',
headers: {
'Authorization': `Basic ${btoa(secretKey + ':')}`,
},
}).then(r => r.json())
console.log(session)
if (session.status === 'completed') {
res.send('Thanks! Your payment is ' + session.payment.status)
} else {
res.send("Sorry! You must've had trouble paying.")
}
})
app.listen(3000, () => console.log('Listening on port 3000'))
ワンクリック決済
ワンクリック決済を利用することでリピーターの迅速な決済を実現できます。
顧客は決済時にクレジットカード情報を保存できるようになります。 この機能により、顧客はクレジットカード情報を再入力する手間を省略できるため、決済のコンバージョン率向上が期待できます。
ワンクリックを導入するためには、セッション作成時にexternal_customer_id
というパラメータを含めてください。
このパラメータには顧客ごとに一意となる値を指定してください。 他の顧客と重複する可能性のある値や、悪意のある攻撃者によるなりすましが可能な値を使用しないでください。
🙋♂️
ワンクリックで決済セッションを作成
Open Recipe
Updated over 1 year ago
What’s Next