Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,54 @@ const result = await widgets.confirmPayment({ return_url: 'https://example.com/r
```typescript
const result = await widgets.confirmSetup({ return_url: 'https://example.com/return_url' })
```

## エラーハンドリング

`confirmPayment()` や `confirmSetup()` は正常に処理が進むと画面遷移が発生します。
これらのメソッドから値が返ってきた場合は `error.type` で種類を判別し、適切なハンドリングを行ってください。

### エラータイプ一覧

| type | 説明 | 対応方法 |
|------|------|----------|
| `payment_error` | 支払い処理が失敗しました | 利用者に別の支払い情報の入力を促してください |
| `validation_error` | 入力内容に問題があります | フォームにエラーメッセージが自動表示されるため、通常は追加の対応は不要です |
| `api_error` | APIリクエストでエラーが発生しました | `code` を確認し、実装の見直しまたは時間をおいた再試行を検討してください |
| `sdk_error` | SDKの使用方法に問題がある可能性があります | 実装内容の再確認をお願いします |
| `user_error` | キャンセルや支払い方法が利用不可など利用者の操作に起因するエラーです | 通常は追加の対応は不要です |

### 使用例

```typescript
import { PayjpPaymentsError } from '@payjp/payments-js'

function handleError(error: PayjpPaymentsError) {
switch (error.type) {
case "payment_error":
showMessage("お支払いに失敗しました。別の支払い情報をお試しください。");
break;
case "validation_error":
// フォームにエラーが自動表示されるため、通常は追加の対応は不要です
break;
case "api_error":
// error.code を確認し、実装の見直しまたは再試行を検討してください
console.error(error.code, error.message);
break;
case "sdk_error":
// SDKの初期化や使用方法に問題がある可能性があります。実装を見直してください
console.error(error.code, error.message);
break;
case "user_error":
// 利用者の操作に起因するエラーです、通常は追加の対応は不要です
break;
default:
// 将来追加される可能性のある新しいエラータイプに対応
console.error(error.type, error.code, error.message);
}
}

const { error } = await widgets.confirmPayment({ return_url: "..." });
if (error) {
handleError(error);
}
```
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@payjp/payments-js",
"version": "1.1.0",
"version": "1.1.1",
"description": "helper module for PAY.JP payments.js",
"type": "module",
"files": [
Expand Down