ข้ามไปยังเนื้อหาหลัก

PayPay

รับชำระเงินจาก PayPay ผู้ใช้งานมากกว่า 60 ล้านรายในประเทศญี่ปุ่น แพลตฟอร์ม QR code payment ชั้นนำของประเทศที่มีอัตราการใช้งานสูงสุดในบรรดาโซลูชันการชำระเงินมือถือของญี่ปุ่น

ภาพรวม

สถิติผู้ใช้งาน

จำนวนผู้ใช้งานเป็นค่าประมาณและอิงจากข้อมูลที่เปิดเผยต่อสาธารณะ จำนวนผู้ใช้งานที่ใช้งานจริงอาจแตกต่างกัน

PayPay เป็นบริการชำระเงินไร้เงินสดขนาดใหญ่ที่สุดของญี่ปุ่นที่มีผู้ใช้งานกว่า 60 ล้านราย (เกือบครึ่งหนึ่งของประชากรญี่ปุ่น) ก่อตั้งขึ้นในปี 2018 เป็นการร่วมทุนระหว่าง SoftBank และ Yahoo Japan PayPay ได้กลายมาเป็นผู้นำตลาดอย่างรวดเร็วผ่านแคมเปญคืนเงินอย่างมากและการยอมรับจากผู้ค้าอย่างแพร่หลาย ซึ่งจำเป็นสำหรับธุรกิจใด ๆ ที่มุ่งเป้าไปยังผู้บริโภคญี่ปุ่น

คุณสมบัติหลัก:

  • ผู้ใช้งานมากกว่า 60 ล้านราย - แอปพลิเคชันชำระเงินชั้นนำของญี่ปุ่น
  • สถานที่มากกว่า 4.4 ล้าน - ยอมรับได้ทั่วประเทศ
  • ไม่มีค่าธรรมเนียมสำหรับลูกค้า - ใช้งานได้ฟรีสำหรับการชำระเงิน
  • ยืนยันทันที - การประมวลผลการชำระเงินแบบเรียลไทม์
  • โปรแกรมรีวอร์ด - ได้รับ PayPay Bonus points สำหรับการซื้อ
  • แหล่งเงินหลายแหล่ง - ธนาคาร บัตรเครดิต ร้านสะดวกซื้อ

ภูมิภาคที่รองรับ

ภูมิภาคสกุลเงินจำนวนเงินขั้นต่ำจำนวนเงินสูงสุดวงเงินรายวัน
ญี่ปุ่นJPY¥100¥500,000แตกต่างกันตามแหล่งเงิน*

*วงเงินรายวันขึ้นอยู่กับแหล่งเงินและระดับการยืนยันตัวตนของลูกค้า:

  • ยอดคงเหลือ PayPay: สูงถึง ¥500,000/วัน (ผู้ใช้ที่ยืนยันตัวตน)
  • บัญชีธนาคารที่เชื่อมโยง: สูงถึง ¥500,000/วัน
  • บัตรเครดิต: อยู่ภายใต้ข้อจำกัดของบัตร

วิธีการทำงาน

ประสบการณ์ของลูกค้า:

  1. ลูกค้าเลือก "PayPay" ที่หน้าชำระเงิน
  2. ถูกเปลี่ยนเส้นทางไปยังหน้าชำระเงิน PayPay
  3. เปิดแอป PayPay โดยอัตโนมัติ (บนมือถือ)
  4. ตรวจสอบรายละเอียดการทำธุรกรรม
  5. ยืนยันตัวตนหากจำเป็น (PIN หรือชีวมิติ)
  6. ยืนยันการชำระเงินด้วยการแตะครั้งเดียว
  7. ได้รับ PayPay Bonus points
  8. กลับไปยังเว็บไซต์ผู้ค้า

เวลาในการดำเนินการโดยทั่วไป: 30-90 วินาที

การนำไปใช้

ขั้นตอนที่ 1: สร้าง PayPay Source

curl https://api.omise.co/sources \
-u skey_test_YOUR_SECRET_KEY: \
-d "type=paypay" \
-d "amount=100000" \
-d "currency=JPY"

การตอบสนอง:

{
"object": "source",
"id": "src_test_5rt6s9vah5lkvi1rh9c",
"type": "paypay",
"flow": "redirect",
"amount": 100000,
"currency": "JPY"
}

ขั้นตอนที่ 2: สร้าง Charge

curl https://api.omise.co/charges \
-u skey_test_YOUR_SECRET_KEY: \
-d "amount=100000" \
-d "currency=JPY" \
-d "source=src_test_5rt6s9vah5lkvi1rh9c" \
-d "return_uri=https://yourdomain.com/payment/callback"

ขั้นตอนที่ 3: เปลี่ยนเส้นทางลูกค้า

app.post('/checkout/paypay', async (req, res) => {
try {
const { amount, order_id, customer_email } = req.body;

// Validate amount (¥100 - ¥500,000)
if (amount < 100 || amount > 500000) {
return res.status(400).json({
error: 'Amount must be between ¥100 and ¥500,000'
});
}

// Create source
const source = await omise.sources.create({
type: 'paypay',
amount: amount,
currency: 'JPY'
});

// Create charge
const charge = await omise.charges.create({
amount: amount,
currency: 'JPY',
source: source.id,
return_uri: `${process.env.BASE_URL}/payment/callback`,
metadata: {
order_id: order_id,
customer_email: customer_email
}
});

// Redirect to PayPay
res.redirect(charge.authorize_uri);

} catch (error) {
console.error('PayPay error:', error);
res.status(500).json({ error: error.message });
}
});

ขั้นตอนที่ 4: จัดการการกลับมา

app.get('/payment/callback', async (req, res) => {
try {
const chargeId = req.query.charge_id;
const charge = await omise.charges.retrieve(chargeId);

if (charge.status === 'successful') {
await processOrder(charge.metadata.order_id);
res.redirect('/payment-success');
} else if (charge.status === 'failed') {
res.redirect('/payment-failed?reason=' + charge.failure_message);
} else {
res.redirect('/payment-pending');
}
} catch (error) {
res.redirect('/payment-error');
}
});

ขั้นตอนที่ 5: จัดการ Webhook

app.post('/webhooks/omise', (req, res) => {
const event = req.body;

if (event.key === 'charge.complete' && event.data.source.type === 'paypay') {
const charge = event.data;

if (charge.status === 'successful') {
processOrder(charge.metadata.order_id);
sendConfirmationEmail(charge.metadata.customer_email);

// Log successful payment
console.log(`PayPay payment successful: ${charge.id}`);
} else if (charge.status === 'failed') {
handleFailedPayment(charge.metadata.order_id);
}
}

res.sendStatus(200);
});

ตัวอย่างการนำไปใช้ที่สมบูรณ์

// Express.js server
const express = require('express');
const omise = require('omise')({
secretKey: process.env.OMISE_SECRET_KEY
});

const app = express();
app.use(express.json());

app.post('/checkout/paypay', async (req, res) => {
try {
const { amount, order_id, customer_email, customer_name } = req.body;

// Validate amount (¥100 - ¥500,000)
if (amount < 100 || amount > 500000) {
return res.status(400).json({
error: 'Amount must be between ¥100 and ¥500,000'
});
}

// Calculate estimated PayPay Bonus points (example: 0.5%)
const estimatedBonus = Math.floor(amount * 0.005);

// Create source
const source = await omise.sources.create({
type: 'paypay',
amount: amount,
currency: 'JPY'
});

// Create charge
const charge = await omise.charges.create({
amount: amount,
currency: 'JPY',
source: source.id,
return_uri: `${process.env.BASE_URL}/payment/callback`,
metadata: {
order_id: order_id,
customer_email: customer_email,
customer_name: customer_name,
payment_method: 'paypay',
estimated_bonus: estimatedBonus
}
});

// Return authorization URL
res.json({
authorize_uri: charge.authorize_uri,
charge_id: charge.id,
estimated_bonus: estimatedBonus
});

} catch (error) {
console.error('PayPay error:', error);
res.status(500).json({ error: error.message });
}
});

// Callback handler
app.get('/payment/callback', async (req, res) => {
try {
const chargeId = req.query.charge_id;
const charge = await omise.charges.retrieve(chargeId);

if (charge.status === 'successful') {
const bonus = charge.metadata.estimated_bonus || 0;
res.redirect(`/order-success?order=${charge.metadata.order_id}&bonus=${bonus}`);
} else {
res.redirect(`/payment-failed?charge=${chargeId}`);
}
} catch (error) {
res.redirect('/payment-error');
}
});

// Webhook handler
app.post('/webhooks/omise', (req, res) => {
const event = req.body;

if (event.key === 'charge.complete') {
const charge = event.data;

if (charge.source.type === 'paypay') {
if (charge.status === 'successful') {
updateOrderStatus(charge.metadata.order_id, 'paid');
sendConfirmation(charge.metadata.customer_email, {
amount: charge.amount,
bonus: charge.metadata.estimated_bonus
});

console.log(`PayPay payment successful: ${charge.id}`);
} else {
updateOrderStatus(charge.metadata.order_id, 'failed');
console.log(`PayPay payment failed: ${charge.id}`);
}
}
}

res.sendStatus(200);
});

// Helper functions
async function updateOrderStatus(orderId, status) {
await db.orders.update({ id: orderId }, { status: status });
}

async function sendConfirmation(email, details) {
// Send email confirmation with PayPay Bonus info
}

app.listen(3000);

การสนับสนุนการคืนเงิน

PayPay รองรับ การคืนเงินเต็มและบางส่วน ภายใน 60 วัน:

// Full refund
const fullRefund = await omise.charges.refund('chrg_test_...', {
amount: 100000
});

// Partial refund
const partialRefund = await omise.charges.refund('chrg_test_...', {
amount: 50000 // Half refund
});
ระยะเวลาการคืนเงิน
  • การคืนเงินจะประมวลผลภายใน 1-2 วันทำการ
  • ลูกค้าได้รับคืนเงินในยอดคงเหลือ PayPay
  • ปรับ PayPay Bonus points โดยอัตโนมัติ
  • รองรับภายใน 60 วันนับจากการทำธุรกรรมดั้งเดิม
นโยบายการคืนเงิน

วงเวลาการคืนเงินและนโยบายอาจมีการเปลี่ยนแปลง ตรวจสอบความสามารถในการคืนเงินปัจจุบันผ่านเอกสาร Omise API หรือแดชบอร์ดผู้ค้าของคุณเสมอ

ปัญหาทั่วไปและการแก้ไขปัญหา

ปัญหา: แอป PayPay ไม่ติดตั้ง

สาเหตุ: ลูกค้าไม่มีแอป PayPay ติดตั้ง

วิธีแก้:

function checkPayPayApp() {
const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);

if (isMobile) {
return `
<div class="paypay-app-check">
<p>PayPay app is required for payment.</p>
<div class="download-links">
<a href="https://play.google.com/store/apps/details?id=jp.ne.paypay.android.app">
<img src="/images/google-play-badge-jp.png" alt="Google Playで入手">
</a>
<a href="https://apps.apple.com/jp/app/paypay/id1435783608">
<img src="/images/app-store-badge-jp.png" alt="App Storeからダウンロード">
</a>
</div>
</div>
`;
}
}

ปัญหา: ยอดคงเหลือไม่เพียงพอ

สาเหตุ: ยอดคงเหลือ PayPay ของลูกค้าต่ำเกินไปและไม่มีวิธีการชำระเงินสำรอง

วิธีแก้:

<div class="paypay-balance-info">
<h3>PayPayの残高が不足しています</h3>
<p>以下の方法でチャージしてください:</p>

<ul class="charge-methods">
<li>🏦 <strong>銀行口座</strong> - リアルタイムチャージ</li>
<li>🏧 <strong>セブン銀行ATM</strong> - 現金チャージ</li>
<li>🏪 <strong>ローソン</strong> - レジでチャージ</li>
<li>💳 <strong>クレジットカード</strong> - 登録して自動チャージ</li>
<li>👥 <strong>PayPay残高の送受信</strong> - 友達から受け取る</li>
</ul>

<p class="amount-needed">必要金額: <strong>¥{{amount}}</strong></p>
</div>

ปัญหา: เกินวงเงินรายวัน

สาเหตุ: ลูกค้าถึงวงเงินรายวันหรือรายเดือน

วิธีแก้:

function handlePayPayLimitExceeded() {
return {
error: '利用限度額を超過しました',
message: 'PayPayの1日または1か月の利用限度額に達しました。',
solutions: [
{
title: '本人確認を完了する',
description: '本人確認済みアカウントは¥500,000/日まで利用可能',
steps: [
'PayPayアプリを開く',
'アカウント > 本人確認',
'身分証明書をアップロード',
'審査完了まで数時間待つ'
]
},
{
title: '別の支払い方法を使用',
description: 'クレジットカードや他の決済方法をご利用ください'
},
{
title: '明日再試行',
description: '利用限度額は毎日0時にリセットされます'
}
]
};
}

ปัญหา: การยืนยันตัวตนล้มเหลว

สาเหตุ: ลูกค้าล้มเหลวในการยืนยัน PIN หรือชีวมิติ

วิธีแก้:

function handleAuthenticationError() {
return `
<div class="auth-error">
<h3>認証に失敗しました</h3>
<p>以下をお試しください:</p>
<ul>
<li>PINコードを再入力してください</li>
<li>生体認証を再試行してください</li>
<li>PayPayアプリを再起動してください</li>
<li>PINをお忘れの場合は、PayPayアプリで再設定してください</li>
</ul>
<button onclick="retryPayment()">再試行</button>
</div>
`;
}

ปัญหา: การชำระเงินหมดเวลา

สาเหตุ: ลูกค้าไม่เสร็จสิ้นการชำระเงินภายในกำหนดเวลา

วิธีแก้:

// 5-minute payment window
const PAYMENT_TIMEOUT = 5 * 60 * 1000;

setTimeout(() => {
if (!paymentConfirmed) {
showMessage('お支払いの有効期限が切れました。もう一度やり直してください。');
enableRetryButton();
}
}, PAYMENT_TIMEOUT);

แนวปฏิบัติที่ดีที่สุด

1. แสดงประโยชน์ PayPay (ส่วนติดต่อผู้ใช้ภาษาญี่ปุ่น)

<div class="paypay-benefits">
<img src="/images/paypay-logo.svg" alt="PayPay" height="40">
<h3>PayPayで支払う</h3>
<ul class="benefits-list">
<li>✓ 即時決済確認</li>
<li>✓ PayPayボーナスポイント獲得</li>
<li>✓ 安全なPIN/生体認証</li>
<li>✓ 手数料無料</li>
<li>✓ 日本全国440万店舗以上で利用可能</li>
</ul>
<p class="bonus-note">
🎁 この購入で<strong>約{{points}}円相当</strong>のPayPayボーナスを獲得
</p>
</div>

2. ให้การสนับสนุนสองภาษา

function getPayPayInstructions(language = 'ja') {
const instructions = {
'ja': {
title: 'PayPayでのお支払い方法',
steps: [
'「PayPayで支払う」をクリック',
'PayPayアプリが自動的に開きます',
'取引内容を確認',
'PINまたは生体認証で認証',
'お支払いを確定'
]
},
'en': {
title: 'How to pay with PayPay',
steps: [
'Click "Pay with PayPay"',
'PayPay app will open automatically',
'Review transaction details',
'Authenticate with PIN or biometric',
'Confirm payment'
]
}
};

return instructions[language] || instructions['ja'];
}
function openPayPayApp(authorizeUri) {
const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);

if (isMobile) {
// Try to open PayPay app
window.location = authorizeUri;

// Fallback after 2 seconds
setTimeout(() => {
if (!document.hidden) {
showInstallAppMessage();
}
}, 2000);
} else {
// Desktop: Show QR code or web interface
window.location = authorizeUri;
}
}

4. ตรวจสอบวงเงินการชำระเงิน

function validatePayPayAmount(amount) {
const MIN = 100; // ¥100
const MAX = 500000; // ¥500,000

if (amount < MIN) {
return `最小金額は¥${MIN}です`;
}

if (amount > MAX) {
return `最大金額は¥${MAX}です`;
}

return null; // Valid
}

5. แสดงค่าประมาณ PayPay Bonus

function calculatePayPayBonus(amount) {
// Base rate: 0.5% (varies by campaign)
const baseRate = 0.005;
const bonusAmount = Math.floor(amount * baseRate);

return {
amount: bonusAmount,
formatted: `¥${bonusAmount.toLocaleString('ja-JP')}`,
message: `この購入で約${bonusAmount}円相当のPayPayボーナスを獲得できます`
};
}

6. ใช้ Webhooks เพื่อความเชื่อถือได้

// Webhook is primary notification method
app.post('/webhooks/omise', handleWebhook);

// Callback is backup for UI updates
app.get('/payment/callback', handleCallback);

// Never rely solely on callback for order fulfillment

คำถามที่พบบ่อย

PayPay คืออะไร

PayPay เป็นบริการชำระเงินมือถือชั้นใหญ่ของญี่ปุ่นที่มีผู้ใช้งานมากกว่า 60 ล้านราย (เกือบครึ่งหนึ่งของประชากรญี่ปุ่น) เปิดตัวในปี 2018 ช่วยให้ผู้ใช้ทำการชำระเงินไร้เงินสดผ่าน QR code ส่งเงินให้เพื่อน และได้รับ PayPay Bonus points ยอมรับได้ที่สถานที่มากกว่า 4.4 ล้านแห่งทั่วประเทศญี่ปุ่น

ลูกค้าต้องมีบัญชีธนาคารญี่ปุ่นหรือไม่

ไม่จำเป็น ลูกค้าสามารถระดมทุน PayPay account ผ่านทาง:

  • บัญชีธนาคารญี่ปุ่น (ทั่วไปที่สุด)
  • บัตรเครดิต (Visa, Mastercard, JCB)
  • เงินสดที่ร้านสะดวกซื้อหรือตู้ ATM
  • รับการโอนจากผู้ใช้ PayPay คนอื่น

อย่างไรก็ตาม ผู้ใช้ PayPay ส่วนใหญ่อยู่ในญี่ปุ่นและมีบัญชีธนาคารญี่ปุ่น

ข้อจำกัดการทำธุรกรรมคืออะไร

ข้อจำกัดแตกต่างกันไปตามแหล่งเงินและระดับการยืนยันตัวตน:

  • ต่อธุรกรรม: ¥100 - ¥500,000
  • บัญชีที่ยังไม่ยืนยัน: ¥100,000/วัน, ¥500,000/เดือน
  • บัญชีที่ยืนยัน: ¥500,000/วัน, ¥2,000,000/เดือน
  • Blue Badge (บริษัท): วงเงินที่สูงกว่าใช้ได้
ลูกค้าได้รับ PayPay Bonus อย่างไร

ลูกค้าได้รับ PayPay Bonus points โดยอัตโนมัติสำหรับการซื้อ อัตราพื้นฐานมักจะเป็น 0.5% แต่ PayPay มักจะดำเนินแคมเปญโดยเสนออัตรา bonus ที่สูงกว่า (บางครั้งสูงถึง 20-30%) จำนวน bonus ขึ้นอยู่กับ:

  • Base payment bonus (0.5%)
  • Campaign bonuses
  • Payment method (PayPay balance vs credit card)
  • ร้านค้า-specific campaigns
ฉันสามารถคืนเงินการชำระเงิน PayPay ได้หรือไม่

ใช่ PayPay รองรับการคืนเงินแบบเต็มและบางส่วนภายใน 60 วันนับจากการทำธุรกรรมดั้งเดิม คืนเงินจะส่งกลับไปยังยอดคงเหลือ PayPay ของลูกค้าภายใน 1-2 วันทำการ และปรับ PayPay Bonus ที่ได้รับโดยอัตโนมัติ

ชำระเงินใช้เวลานานเท่าใด

การชำระเงิน PayPay มักจะชำระภายใน 2-3 วันทำการหลังจากการทำธุรกรรม ตรวจสอบแดชบอร์ด Omise ของคุณสำหรับตารางเวลาการชำระและวันที่เฉพาะ

PayPay ใช้งานได้ 24/7 หรือไม่

ใช่ สามารถประมวลผลการชำระเงิน PayPay ได้ 24/7 รวมทั้งวันธรรมชาติและวันหยุด อย่างไรก็ตาม การชำระเงินไปยังบัญชีผู้ค้าปฏิบัติตามตารางเวลาวันทำการ

ฉันควรให้การสนับสนุนภาษาญี่ปุ่นหรือไม่

ใช่ ขอแนะนำอย่างยิ่ง แม้ว่าผู้ใช้ญี่ปุ่นหลายคนสามารถนำทางอินเทอร์เฟซภาษาอังกฤษได้ แต่การให้การสนับสนุนภาษาญี่ปุ่นจะปรับปรุงอัตราการแปลงอย่างมีนัยสำคัญ อย่างน้อยสำหรับ:

  • ปุ่มชำระเงินในภาษาญี่ปุ่น (「PayPayで支払う」)
  • ข้อความแสดงข้อผิดพลาดในภาษาญี่ปุ่น
  • คำแนะนำพื้นฐานในภาษาญี่ปุ่น
ความแตกต่างระหว่าง PayPay และ LINE Pay คืออะไร

ทั้งสองเป็นที่นิยมในญี่ปุ่น แต่ PayPay มีส่วนแบ่งตลาดที่สูงกว่าอย่างมีนัยสำคัญ:

  • PayPay: 60M+ ผู้ใช้งาน ส่วนแบ่งตลาด #1 QR code focused การยอมรับแพร่หลาย
  • LINE Pay: 40M+ ผู้ใช้งาน บูรณาการกับการส่งข้อความ LINE ดีสำหรับสภาพแวดล้อม LINE

เพื่อเข้าถึงสูงสุดในญี่ปุ่น ลองพิจารณายอมรับทั้งสองอย่าง

การทดสอบ

โหมดทดสอบ

PayPay สามารถทดสอบได้โดยใช้ test API keys ของคุณ ในโหมดทดสอบ:

ข้อมูลประจำตัวทดสอบ:

  • ใช้ test API keys (skey_test_xxx)
  • สกุลเงิน: JPY (Japanese Yen)
  • ไม่จำเป็นต้องมีบัญชี PayPay จริง

ลำดับขั้นตอนการทดสอบ:

  1. สร้าง source และ charge ด้วย test API keys
  2. ลูกค้าเปลี่ยนเส้นทางไปยัง test authorize_uri
  3. หน้าทดสอบจำลองการอนุญาต PayPay
  4. ใช้ Omise Dashboard Actions เพื่อทำเครื่องหมายการเรียกเก็บเงินเป็นสำเร็จ/ล้มเหลว
  5. ตรวจสอบการจัดการ webhook และ return_uri

การนำไปใช้การทดสอบ:

// Test PayPay payment
const source = await omise.sources.create({
type: 'paypay',
amount: 100000, // ¥100,000
currency: 'JPY'
});

const charge = await omise.charges.create({
amount: 100000,
currency: 'JPY',
source: source.id,
return_uri: 'https://example.com/callback'
});

console.log('Test authorize URL:', charge.authorize_uri);

สถานการณ์การทดสอบ:

  • การชำระเงินสำเร็จ: ตรวจสอบลำดับขั้นตอนการสั่งซื้อที่สมบูรณ์
  • การชำระเงินล้มเหลว: ทดสอบการจัดการข้อผิดพลาด
  • วงเงิน: ทดสอบจำนวนขั้นต่ำ (¥1) และสูงสุด
  • ลำดับขั้นตอนมือถือ: ทดสอบ deep-linking ไปยังแอป PayPay
  • ยอดคงเหลือไม่เพียงพอ: จำลองยอดคงเหลือกระเป๋าต่ำ
  • หมดเวลา: ทดสอบสถานการณ์การชำระเงินที่ถูกปล่อยทิ้ง
  • การส่งมอบ Webhook: ตรวจสอบการแจ้งเตือน webhook ทั้งหมด
  • ส่วนติดต่อผู้ใช้ภาษาญี่ปุ่น: ทดสอบการสนับสนุนภาษาญี่ปุ่น

หมายเหตุสำคัญ:

  • โหมดทดสอบไม่เชื่อมต่อกับเซิร์ฟเวอร์ PayPay จริง
  • ใช้แดชบอร์ดเพื่อจำลองผลลัพธ์การชำระเงิน
  • ทดสอบลำดับขั้นตอนแอปมือถือให้ครอบคลุม (การบูรณาการแอป PayPay)
  • ตรวจสอบการจัดการ webhook สำหรับสถานะการเรียกเก็บเงินทั้งหมด
  • ทดสอบการสนับสนุนภาษาญี่ปุ่นในส่วนติดต่อผู้ใช้
  • ตรวจสอบการจัดการสกุลเงิน JPY (ไม่มีตำแหน่งทศนิยม)

สำหรับคำแนะนำการทดสอบที่ครอบคลุม ดูที่ เอกสารการทดสอบ

ทรัพยากรที่เกี่ยวข้อง

ขั้นตอนถัดไป

  1. สร้าง PayPay source
  2. นำลำดับขั้นตอนการเปลี่ยนเส้นทางไปใช้
  3. ตั้งค่าการจัดการ webhook
  4. เพิ่มการสนับสนุนภาษาญี่ปุ่น
  5. ทดสอบลำดับขั้นตอนการชำระเงิน
  6. เปิดตัวสด