stripe-decline-codes 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +302 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +526 -0
- package/dist/index.es.js.map +1 -0
- package/package.json +71 -0
package/README.md
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# stripe-decline-codes
|
|
2
|
+
|
|
3
|
+
> Complete database of Stripe decline codes with descriptions and localized messages
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/stripe-decline-codes)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
A lightweight, zero-dependency TypeScript library providing human-readable descriptions and localized user messages for all Stripe payment decline codes.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- ๐ฏ **Complete Coverage** - All 44 Stripe decline codes included
|
|
13
|
+
- ๐ **Localization** - Built-in English and Japanese translations
|
|
14
|
+
- ๐ **TypeScript Support** - Full type definitions included
|
|
15
|
+
- ๐ชถ **Zero Dependencies** - Lightweight and fast
|
|
16
|
+
- ๐ **Up-to-date** - Based on Stripe API documentation (2024-12-18)
|
|
17
|
+
- โ
**Well Tested** - Comprehensive test coverage
|
|
18
|
+
- ๐จ **Message Formatting** - Customizable message templates with variable substitution
|
|
19
|
+
|
|
20
|
+
## About This Project
|
|
21
|
+
|
|
22
|
+
This library is a complete TypeScript rewrite and continuation of the original [`stripe-utils`](https://github.com/megumiteam/stripe-utils) package. The project has been:
|
|
23
|
+
|
|
24
|
+
- **Renamed** from `stripe-utils` to `stripe-decline-codes` to better reflect its focused scope
|
|
25
|
+
- **Rewritten** entirely in modern TypeScript with full type safety
|
|
26
|
+
- **Modernized** with current tooling (Vite, Biome, Vitest)
|
|
27
|
+
- **Focused** exclusively on Stripe decline code handling (subscription utilities removed)
|
|
28
|
+
- **Updated** with the latest Stripe decline codes (2024-12-18)
|
|
29
|
+
|
|
30
|
+
Credit to the original [stripe-utils project](https://github.com/megumiteam/stripe-utils) for the initial implementation.
|
|
31
|
+
|
|
32
|
+
## Installation
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install stripe-decline-codes
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
### Basic Usage
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
import { getDeclineDescription } from 'stripe-decline-codes';
|
|
44
|
+
|
|
45
|
+
const result = getDeclineDescription('insufficient_funds');
|
|
46
|
+
|
|
47
|
+
console.log(result.code.description);
|
|
48
|
+
// => "The card has insufficient funds to complete the purchase."
|
|
49
|
+
|
|
50
|
+
console.log(result.code.nextUserAction);
|
|
51
|
+
// => "Please try again using an alternative payment method."
|
|
52
|
+
|
|
53
|
+
console.log(result.docVersion);
|
|
54
|
+
// => "2024-12-18"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Localized Messages
|
|
58
|
+
|
|
59
|
+
Get user-facing messages in different languages:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import { getDeclineMessage } from 'stripe-decline-codes';
|
|
63
|
+
|
|
64
|
+
// English (default)
|
|
65
|
+
const enMessage = getDeclineMessage('insufficient_funds');
|
|
66
|
+
console.log(enMessage);
|
|
67
|
+
// => "Please try again using an alternative payment method."
|
|
68
|
+
|
|
69
|
+
// Japanese
|
|
70
|
+
const jaMessage = getDeclineMessage('insufficient_funds', 'ja');
|
|
71
|
+
console.log(jaMessage);
|
|
72
|
+
// => "ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Validate Decline Codes
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { isValidDeclineCode } from 'stripe-decline-codes';
|
|
79
|
+
|
|
80
|
+
isValidDeclineCode('insufficient_funds'); // => true
|
|
81
|
+
isValidDeclineCode('invalid_code'); // => false
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Get All Decline Codes
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
import { getAllDeclineCodes } from 'stripe-decline-codes';
|
|
88
|
+
|
|
89
|
+
const codes = getAllDeclineCodes();
|
|
90
|
+
console.log(codes.length); // => 44
|
|
91
|
+
console.log(codes);
|
|
92
|
+
// => ['approve_with_id', 'call_issuer', 'card_not_supported', ...]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### With Stripe SDK
|
|
96
|
+
|
|
97
|
+
Perfect for error handling in your Stripe integration:
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import Stripe from 'stripe';
|
|
101
|
+
import { getDeclineMessage } from 'stripe-decline-codes';
|
|
102
|
+
|
|
103
|
+
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
|
|
104
|
+
|
|
105
|
+
try {
|
|
106
|
+
const charge = await stripe.charges.create({
|
|
107
|
+
amount: 2000,
|
|
108
|
+
currency: 'usd',
|
|
109
|
+
source: 'tok_chargeDeclined',
|
|
110
|
+
});
|
|
111
|
+
} catch (error) {
|
|
112
|
+
if (error.type === 'StripeCardError') {
|
|
113
|
+
const declineCode = error.decline_code;
|
|
114
|
+
const userMessage = getDeclineMessage(declineCode, 'en');
|
|
115
|
+
console.log(userMessage);
|
|
116
|
+
// Display this message to your user
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## API Reference
|
|
122
|
+
|
|
123
|
+
### Core Functions
|
|
124
|
+
|
|
125
|
+
#### `getDeclineDescription(declineCode?: string): DeclineCodeResult`
|
|
126
|
+
|
|
127
|
+
Returns detailed information about a decline code.
|
|
128
|
+
|
|
129
|
+
**Returns:**
|
|
130
|
+
```typescript
|
|
131
|
+
{
|
|
132
|
+
docVersion: string;
|
|
133
|
+
code: {
|
|
134
|
+
description: string;
|
|
135
|
+
nextSteps: string;
|
|
136
|
+
nextUserAction: string;
|
|
137
|
+
translations?: {
|
|
138
|
+
ja?: {
|
|
139
|
+
description: string;
|
|
140
|
+
nextUserAction: string;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
} | {};
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### `getDeclineMessage(declineCode: string, locale?: Locale): string | undefined`
|
|
148
|
+
|
|
149
|
+
Returns a localized user-facing message for a decline code.
|
|
150
|
+
|
|
151
|
+
**Parameters:**
|
|
152
|
+
- `declineCode` - The Stripe decline code
|
|
153
|
+
- `locale` - The locale to use (`'en'` or `'ja'`, default: `'en'`)
|
|
154
|
+
|
|
155
|
+
#### `getAllDeclineCodes(): DeclineCode[]`
|
|
156
|
+
|
|
157
|
+
Returns an array of all supported decline code strings.
|
|
158
|
+
|
|
159
|
+
#### `isValidDeclineCode(code: string): code is DeclineCode`
|
|
160
|
+
|
|
161
|
+
Type guard to check if a string is a valid decline code.
|
|
162
|
+
|
|
163
|
+
#### `getDocVersion(): string`
|
|
164
|
+
|
|
165
|
+
Returns the Stripe API documentation version that this library is based on.
|
|
166
|
+
|
|
167
|
+
### Message Formatting
|
|
168
|
+
|
|
169
|
+
#### `formatDeclineMessage(declineCode: string, locale?: Locale, variables?: Record<string, string>): string | undefined`
|
|
170
|
+
|
|
171
|
+
Returns a formatted message with optional variable substitution.
|
|
172
|
+
|
|
173
|
+
**Example:**
|
|
174
|
+
```typescript
|
|
175
|
+
import { formatDeclineMessage } from 'stripe-decline-codes';
|
|
176
|
+
|
|
177
|
+
const message = formatDeclineMessage('insufficient_funds', 'en', {
|
|
178
|
+
merchantName: 'Acme Store',
|
|
179
|
+
supportEmail: 'support@acme.com'
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Supported Decline Codes
|
|
184
|
+
|
|
185
|
+
This library includes all 44 Stripe decline codes:
|
|
186
|
+
|
|
187
|
+
- `approve_with_id` - Payment cannot be authorized
|
|
188
|
+
- `call_issuer` - Card declined for unknown reason
|
|
189
|
+
- `card_not_supported` - Card doesn't support this purchase type
|
|
190
|
+
- `card_velocity_exceeded` - Balance or credit limit exceeded
|
|
191
|
+
- `currency_not_supported` - Card doesn't support the currency
|
|
192
|
+
- `do_not_honor` - Card declined for unknown reason
|
|
193
|
+
- `do_not_try_again` - Card declined for unknown reason
|
|
194
|
+
- `duplicate_transaction` - Identical transaction submitted recently
|
|
195
|
+
- `expired_card` - Card has expired
|
|
196
|
+
- `fraudulent` - Payment suspected to be fraudulent
|
|
197
|
+
- `generic_decline` - Card declined for unknown reason
|
|
198
|
+
- `incorrect_number` - Card number is incorrect
|
|
199
|
+
- `incorrect_cvc` - CVC number is incorrect
|
|
200
|
+
- `incorrect_pin` - PIN is incorrect
|
|
201
|
+
- `incorrect_zip` - ZIP/postal code is incorrect
|
|
202
|
+
- `insufficient_funds` - Insufficient funds
|
|
203
|
+
- `invalid_account` - Card or account is invalid
|
|
204
|
+
- `invalid_amount` - Payment amount is invalid or too large
|
|
205
|
+
- `invalid_cvc` - CVC number is incorrect
|
|
206
|
+
- `invalid_expiry_year` - Expiration year is invalid
|
|
207
|
+
- `invalid_number` - Card number is incorrect
|
|
208
|
+
- `invalid_pin` - PIN is incorrect
|
|
209
|
+
- `issuer_not_available` - Card issuer could not be reached
|
|
210
|
+
- `lost_card` - Card reported lost
|
|
211
|
+
- `merchant_blacklist` - Payment matches merchant blocklist
|
|
212
|
+
- `new_account_information_available` - Card or account is invalid
|
|
213
|
+
- `no_action_taken` - Card declined for unknown reason
|
|
214
|
+
- `not_permitted` - Payment is not permitted
|
|
215
|
+
- `pickup_card` - Card cannot be used for this payment
|
|
216
|
+
- `pin_try_exceeded` - PIN attempts exceeded
|
|
217
|
+
- `processing_error` - Error processing the card
|
|
218
|
+
- `reenter_transaction` - Payment could not be processed
|
|
219
|
+
- `restricted_card` - Card cannot be used for this payment
|
|
220
|
+
- `revocation_of_all_authorizations` - Card declined
|
|
221
|
+
- `revocation_of_authorization` - Card declined
|
|
222
|
+
- `security_violation` - Card declined
|
|
223
|
+
- `service_not_allowed` - Card declined
|
|
224
|
+
- `stolen_card` - Card reported stolen
|
|
225
|
+
- `stop_payment_order` - Card declined
|
|
226
|
+
- `testmode_decline` - Stripe test card used
|
|
227
|
+
- `transaction_not_allowed` - Card declined
|
|
228
|
+
- `try_again_later` - Card declined, try again later
|
|
229
|
+
- `withdrawal_count_limit_exceeded` - Credit limit exceeded
|
|
230
|
+
|
|
231
|
+
## TypeScript
|
|
232
|
+
|
|
233
|
+
This library is written in TypeScript and includes full type definitions:
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
import type {
|
|
237
|
+
DeclineCode,
|
|
238
|
+
DeclineCodeInfo,
|
|
239
|
+
DeclineCodeResult,
|
|
240
|
+
Locale,
|
|
241
|
+
Translation,
|
|
242
|
+
} from 'stripe-decline-codes';
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Development
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Install dependencies
|
|
249
|
+
npm install
|
|
250
|
+
|
|
251
|
+
# Run tests
|
|
252
|
+
npm test
|
|
253
|
+
|
|
254
|
+
# Run tests in watch mode
|
|
255
|
+
npm run test:watch
|
|
256
|
+
|
|
257
|
+
# Build
|
|
258
|
+
npm run build
|
|
259
|
+
|
|
260
|
+
# Lint
|
|
261
|
+
npm run lint
|
|
262
|
+
|
|
263
|
+
# Format code
|
|
264
|
+
npm run format
|
|
265
|
+
|
|
266
|
+
# Type check
|
|
267
|
+
npm run typecheck
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Publishing
|
|
271
|
+
|
|
272
|
+
This package uses [`np`](https://github.com/sindresorhus/np) for releases:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
npm run release
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Contributing
|
|
279
|
+
|
|
280
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
281
|
+
|
|
282
|
+
## License
|
|
283
|
+
|
|
284
|
+
MIT ยฉ [Hidetaka Okamoto](https://wp-kyoto.net)
|
|
285
|
+
|
|
286
|
+
## Related
|
|
287
|
+
|
|
288
|
+
- [Stripe API Documentation](https://docs.stripe.com/declines/codes)
|
|
289
|
+
- [Stripe Node.js Library](https://github.com/stripe/stripe-node)
|
|
290
|
+
|
|
291
|
+
## Changelog
|
|
292
|
+
|
|
293
|
+
### 0.1.0
|
|
294
|
+
|
|
295
|
+
- Forked and renewed from [stripe-utils](https://github.com/megumiteam/stripe-utils)
|
|
296
|
+
- Complete rewrite in TypeScript
|
|
297
|
+
- Modern build system with Vite + Biome
|
|
298
|
+
- Added comprehensive type definitions
|
|
299
|
+
- Updated to latest Stripe decline codes (2024-12-18)
|
|
300
|
+
- Zero dependencies
|
|
301
|
+
- Enhanced API with new utility functions
|
|
302
|
+
- Improved documentation
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o="2024-12-18",r={approve_with_id:{description:"The payment cannot be authorized.",nextSteps:"The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",nextUserAction:"Please try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ๆฏๆใใฏๆฟ่ชใงใใพใใใ",nextUserAction:"ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},call_issuer:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},card_not_supported:{description:"The card does not support this type of purchase.",nextSteps:"The customer needs to contact their card issuer to make sure their card can be used to make this type of purchase.",nextUserAction:"Your card issuer may not support this type of purchase, please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใพใใใ",nextUserAction:"ใซใผใ็บ่ก่
ใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใฆใใชใๅฏ่ฝๆงใใใใพใใ่ฉณ็ดฐใซใคใใฆใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},card_velocity_exceeded:{description:"The customer has exceeded the balance or credit limit available on their card.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},currency_not_supported:{description:"The card does not support the specified currency.",nextSteps:"The customer needs to check with the issuer whether the card can be used for the type of currency specified.",nextUserAction:"Please contact your card issuer to verify this type of currency can be used for this payment.",translations:{ja:{description:"ใซใผใใฏๆๅฎใใใ้่ฒจใใตใใผใใใฆใใพใใใ",nextUserAction:"ใใฎๆฏๆใใซใใฎใฟใคใใฎ้่ฒจใไฝฟ็จใงใใใใจใ็ขบ่ชใใใซใฏใใซใผใ็บ่กไผ็คพใซ้ฃ็ตกใใฆใใ ใใใ"}}},do_not_honor:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},do_not_try_again:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},duplicate_transaction:{description:"A transaction with identical amount and credit card information was submitted very recently.",nextSteps:"Check to see if a recent payment already exists.",nextUserAction:"Check to see if a recent payment already exists.",translations:{ja:{description:"ใใๆ่ฟใๅไธใฎ้้กใจใฏใฌใธใใใซใผใๆ
ๅ ฑใไฝฟ็จใใๅๅผใ้ไฟกใใใพใใใ",nextUserAction:"ๆ่ฟใฎๆฏๆใใๆขใซๅญๅจใใใใฉใใใ็ขบ่ชใใฆใใ ใใใ"}}},expired_card:{description:"The card has expired.",nextSteps:"The customer should use another card.",nextUserAction:"Please use another card.",translations:{ja:{description:"ใซใผใใฏๆ้ๅใใงใใ",nextUserAction:"ๅฅใฎใซใผใใไฝฟ็จใใฆใใ ใใใ"}}},fraudulent:{description:"The payment has been declined as Stripe suspects it is fraudulent.",nextSteps:"Do not report more detailed information to your customer. Instead, present as you would the generic_decline described below.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ไธๆญฃใจๆใใใใใใๆฏๆใใฏๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},generic_decline:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},incorrect_number:{description:"The card number is incorrect.",nextSteps:"The customer should try again using the correct card number.",nextUserAction:"Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ใซใผใ็ชๅทใๆญฃใใใใใพใใใ",nextUserAction:"ใซใผใ็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},incorrect_cvc:{description:"The CVC number is incorrect.",nextSteps:"The customer should try again using the correct CVC.",nextUserAction:"Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"CVC็ชๅทใๆญฃใใใใใพใใใ",nextUserAction:"CSC็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},incorrect_pin:{description:"The PIN entered is incorrect. This decline code only applies to payments made with a card reader.",nextSteps:"The customer should try again using the correct PIN.",nextUserAction:"Please check your PIN and try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"PINใณใผใใๆญฃใใใใใพใใใ",nextUserAction:"PINใณใผใใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},incorrect_zip:{description:"The ZIP/postal code is incorrect.",nextSteps:"The customer should try again using the correct billing ZIP/postal code.",nextUserAction:"Please try again using the correct ZIP/postal code.",translations:{ja:{description:"้ตไพฟ็ชๅทใๆญฃใใใใใพใใใ",nextUserAction:"ๆญฃใใ้ตไพฟ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"}}},insufficient_funds:{description:"The card has insufficient funds to complete the purchase.",nextSteps:"The customer should use an alternative payment method.",nextUserAction:"Please try again using an alternative payment method.",translations:{ja:{description:"ใซใผใใฎ่ณผๅ
ฅใซๅฟ
่ฆใช่ณ้ใไธ่ถณใใฆใใพใใ",nextUserAction:"ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"}}},invalid_account:{description:"The card, or account the card is connected to, is invalid.",nextSteps:"The customer needs to contact their card issuer to check that the card is working correctly.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},invalid_amount:{description:"The payment amount is invalid, or exceeds the amount that is allowed.",nextSteps:"If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ๆฏๆใ้้กใ็กๅนใงใใใใ่จฑๅฏใใใฆใใ้้กใ่ถ
ใใฆใใพใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},invalid_cvc:{description:"The CVC number is incorrect.",nextSteps:"The customer should try again using the correct CVC.",nextUserAction:"Please try again using the correct CVC.",translations:{ja:{description:"CVC็ชๅทใๆญฃใใใใใพใใใ",nextUserAction:"ๆญฃใใCVCใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"}}},invalid_expiry_year:{description:"The expiration year invalid.",nextSteps:"The customer should try again using the correct expiration date.",nextUserAction:"Please try again using the correct expiration date.",translations:{ja:{description:"ๆๅนๆ้ใ็กๅนใงใใ",nextUserAction:"ๆญฃใใๆๅนๆ้ใๅ
ฅๅใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"}}},invalid_number:{description:"The card number is incorrect.",nextSteps:"The customer should try again using the correct card number.",nextUserAction:"Please try again using the correct card number.",translations:{ja:{description:"ใซใผใ็ชๅทใๆญฃใใใใใพใใใ",nextUserAction:"ๆญฃใใใซใผใ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"}}},invalid_pin:{description:"The PIN entered is incorrect. This decline code only applies to payments made with a card reader.",nextSteps:"The customer should try again using the correct PIN.",nextUserAction:"Please try again using the correct card PIN.",translations:{ja:{description:"PINใณใผใใๆญฃใใใใใพใใใ",nextUserAction:"ๆญฃใใPINใณใผใใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"}}},issuer_not_available:{description:"The card issuer could not be reached, so the payment could not be authorized.",nextSteps:"The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",nextUserAction:"Please try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ใซใผใ็บ่ก่
ใซ้ฃ็ตกใงใใชใใฃใใใใๆฏๆใใๆฟ่ชใงใใพใใใงใใใ",nextUserAction:"ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},lost_card:{description:"The payment has been declined because the card is reported lost.",nextSteps:"The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},merchant_blacklist:{description:"The payment has been declined because it matches a value on the Stripe user's blocklist.",nextSteps:"Do not report more detailed information to your customer. Instead, present as you would the generic_decline described above.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},new_account_information_available:{description:"The card, or account the card is connected to, is invalid.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},no_action_taken:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},not_permitted:{description:"The payment is not permitted.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ๆฏๆใใฏ่จฑๅฏใใใฆใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},pickup_card:{description:"The card cannot be used to make this payment (it is possible it has been reported lost or stolen).",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},pin_try_exceeded:{description:"The allowable number of PIN tries has been exceeded.",nextSteps:"The customer must use another card or method of payment.",nextUserAction:"Please use another card or method of payment.",translations:{ja:{description:"PIN่ฉฆ่กๅๆฐใฎไธ้ใ่ถ
ใใพใใใ",nextUserAction:"ๅฅใฎใซใผใใพใใฏใๆฏๆใๆนๆณใใๅฉ็จใใ ใใใ"}}},processing_error:{description:"An error occurred while processing the card.",nextSteps:"The payment should be attempted again. If it still cannot be processed, try again later.",nextUserAction:"Please try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ใซใผใใฎๅฆ็ไธญใซใจใฉใผใ็บ็ใใพใใใ",nextUserAction:"ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},reenter_transaction:{description:"The payment could not be processed by the issuer for an unknown reason.",nextSteps:"The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",nextUserAction:"Please try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ๅๅ ไธๆใฎใใใ็บ่ก่
ใๆฏๆใใๅฆ็ใงใใพใใใงใใใ",nextUserAction:"ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},restricted_card:{description:"The card cannot be used to make this payment (it is possible it has been reported lost or stolen).",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},revocation_of_all_authorizations:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},revocation_of_authorization:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},security_violation:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},service_not_allowed:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},stolen_card:{description:"The payment has been declined because the card is reported stolen.",nextSteps:"The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},stop_payment_order:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer should contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},testmode_decline:{description:"A Stripe test card number was used.",nextSteps:"A genuine card must be used to make a payment.",nextUserAction:"A genuine card must be used to make a payment.",translations:{ja:{description:"Stripeใในใใซใผใ็ชๅทใไฝฟ็จใใพใใใ",nextUserAction:"ๆฏๆใใซใฏๆฌ็ฉใฎใซใผใใไฝฟ็จใใๅฟ
่ฆใใใใพใใ"}}},transaction_not_allowed:{description:"The card has been declined for an unknown reason.",nextSteps:"The customer needs to contact their card issuer for more information.",nextUserAction:"Please contact your card issuer for more information.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},try_again_later:{description:"The card has been declined for an unknown reason.",nextSteps:"Ask the customer to attempt the payment again. If subsequent payments are declined, the customer should contact their card issuer for more information.",nextUserAction:"Please try again. If it still cannot be processed, the please contact your card issuer.",translations:{ja:{description:"ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",nextUserAction:"ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}},withdrawal_count_limit_exceeded:{description:"The customer has exceeded the balance or credit limit available on their card.",nextSteps:"The customer should use an alternative payment method.",nextUserAction:"Please use another card or contact your card issuer for more information.",translations:{ja:{description:"ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ",nextUserAction:"ๅฅใฎใซใผใใไฝฟ็จใใใใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"}}}};function p(e){if(!e||!a(e))return{docVersion:o,code:{}};const t=r[e];return{docVersion:o,code:t}}function c(e,t="en"){if(!a(e))return;const n=r[e];return t==="en"?n.nextUserAction:n.translations?.[t]?.nextUserAction}function h(){return Object.keys(r)}function a(e){return e in r}function m(){return o}function f(e,t="en",n){const s=c(e,t);if(!s)return;if(!n)return s;let i=s;for(const[d,u]of Object.entries(n)){const l=new RegExp(`\\{\\{${d}\\}\\}`,"g");i=i.replace(l,u)}return i}exports.DECLINE_CODES=r;exports.DOC_VERSION=o;exports.formatDeclineMessage=f;exports.getAllDeclineCodes=h;exports.getDeclineDescription=p;exports.getDeclineMessage=c;exports.getDocVersion=m;exports.isValidDeclineCode=a;
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/data/decline-codes.ts","../src/index.ts"],"sourcesContent":["import type { DeclineCode, DeclineCodeInfo } from '../types';\n\n/**\n * Stripe API documentation version for decline codes\n * Last updated: 2024-12\n * Reference: https://docs.stripe.com/declines/codes\n */\nexport const DOC_VERSION = '2024-12-18';\n\n/**\n * Complete database of Stripe decline codes with descriptions and recommended actions\n * Includes English and Japanese translations\n */\nexport const DECLINE_CODES: Record<DeclineCode, DeclineCodeInfo> = {\n approve_with_id: {\n description: 'The payment cannot be authorized.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ๆฏๆใใฏๆฟ่ชใงใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n call_issuer: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n card_not_supported: {\n description: 'The card does not support this type of purchase.',\n nextSteps:\n 'The customer needs to contact their card issuer to make sure their card can be used to make this type of purchase.',\n nextUserAction:\n 'Your card issuer may not support this type of purchase, please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใพใใใ',\n nextUserAction:\n 'ใซใผใ็บ่ก่
ใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใฆใใชใๅฏ่ฝๆงใใใใพใใ่ฉณ็ดฐใซใคใใฆใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n card_velocity_exceeded: {\n description: 'The customer has exceeded the balance or credit limit available on their card.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n currency_not_supported: {\n description: 'The card does not support the specified currency.',\n nextSteps:\n 'The customer needs to check with the issuer whether the card can be used for the type of currency specified.',\n nextUserAction:\n 'Please contact your card issuer to verify this type of currency can be used for this payment.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆๅฎใใใ้่ฒจใใตใใผใใใฆใใพใใใ',\n nextUserAction:\n 'ใใฎๆฏๆใใซใใฎใฟใคใใฎ้่ฒจใไฝฟ็จใงใใใใจใ็ขบ่ชใใใซใฏใใซใผใ็บ่กไผ็คพใซ้ฃ็ตกใใฆใใ ใใใ',\n },\n },\n },\n do_not_honor: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n do_not_try_again: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n duplicate_transaction: {\n description:\n 'A transaction with identical amount and credit card information was submitted very recently.',\n nextSteps: 'Check to see if a recent payment already exists.',\n nextUserAction: 'Check to see if a recent payment already exists.',\n translations: {\n ja: {\n description: 'ใใๆ่ฟใๅไธใฎ้้กใจใฏใฌใธใใใซใผใๆ
ๅ ฑใไฝฟ็จใใๅๅผใ้ไฟกใใใพใใใ',\n nextUserAction: 'ๆ่ฟใฎๆฏๆใใๆขใซๅญๅจใใใใฉใใใ็ขบ่ชใใฆใใ ใใใ',\n },\n },\n },\n expired_card: {\n description: 'The card has expired.',\n nextSteps: 'The customer should use another card.',\n nextUserAction: 'Please use another card.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆ้ๅใใงใใ',\n nextUserAction: 'ๅฅใฎใซใผใใไฝฟ็จใใฆใใ ใใใ',\n },\n },\n },\n fraudulent: {\n description: 'The payment has been declined as Stripe suspects it is fraudulent.',\n nextSteps:\n 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described below.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ไธๆญฃใจๆใใใใใใๆฏๆใใฏๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n generic_decline: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_number: {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.',\n nextUserAction:\n 'Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'ใซใผใ็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_cvc: {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.',\n nextUserAction:\n 'Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'CVC็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'CSC็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_pin: {\n description:\n 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.',\n nextUserAction:\n 'Please check your PIN and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'PINใณใผใใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'PINใณใผใใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_zip: {\n description: 'The ZIP/postal code is incorrect.',\n nextSteps: 'The customer should try again using the correct billing ZIP/postal code.',\n nextUserAction: 'Please try again using the correct ZIP/postal code.',\n translations: {\n ja: {\n description: '้ตไพฟ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใ้ตไพฟ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n insufficient_funds: {\n description: 'The card has insufficient funds to complete the purchase.',\n nextSteps: 'The customer should use an alternative payment method.',\n nextUserAction: 'Please try again using an alternative payment method.',\n translations: {\n ja: {\n description: 'ใซใผใใฎ่ณผๅ
ฅใซๅฟ
่ฆใช่ณ้ใไธ่ถณใใฆใใพใใ',\n nextUserAction: 'ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n invalid_account: {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps:\n 'The customer needs to contact their card issuer to check that the card is working correctly.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n invalid_amount: {\n description: 'The payment amount is invalid, or exceeds the amount that is allowed.',\n nextSteps:\n 'If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ๆฏๆใ้้กใ็กๅนใงใใใใ่จฑๅฏใใใฆใใ้้กใ่ถ
ใใฆใใพใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n invalid_cvc: {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.',\n nextUserAction: 'Please try again using the correct CVC.',\n translations: {\n ja: {\n description: 'CVC็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใCVCใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n invalid_expiry_year: {\n description: 'The expiration year invalid.',\n nextSteps: 'The customer should try again using the correct expiration date.',\n nextUserAction: 'Please try again using the correct expiration date.',\n translations: {\n ja: {\n description: 'ๆๅนๆ้ใ็กๅนใงใใ',\n nextUserAction: 'ๆญฃใใๆๅนๆ้ใๅ
ฅๅใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n invalid_number: {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.',\n nextUserAction: 'Please try again using the correct card number.',\n translations: {\n ja: {\n description: 'ใซใผใ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใใซใผใ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n invalid_pin: {\n description:\n 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.',\n nextUserAction: 'Please try again using the correct card PIN.',\n translations: {\n ja: {\n description: 'PINใณใผใใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใPINใณใผใใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n issuer_not_available: {\n description: 'The card issuer could not be reached, so the payment could not be authorized.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใ็บ่ก่
ใซ้ฃ็ตกใงใใชใใฃใใใใๆฏๆใใๆฟ่ชใงใใพใใใงใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n lost_card: {\n description: 'The payment has been declined because the card is reported lost.',\n nextSteps:\n 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n merchant_blacklist: {\n description:\n \"The payment has been declined because it matches a value on the Stripe user's blocklist.\",\n nextSteps:\n 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described above.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n new_account_information_available: {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n no_action_taken: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n not_permitted: {\n description: 'The payment is not permitted.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ๆฏๆใใฏ่จฑๅฏใใใฆใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n pickup_card: {\n description:\n 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description:\n 'ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n pin_try_exceeded: {\n description: 'The allowable number of PIN tries has been exceeded.',\n nextSteps: 'The customer must use another card or method of payment.',\n nextUserAction: 'Please use another card or method of payment.',\n translations: {\n ja: {\n description: 'PIN่ฉฆ่กๅๆฐใฎไธ้ใ่ถ
ใใพใใใ',\n nextUserAction: 'ๅฅใฎใซใผใใพใใฏใๆฏๆใๆนๆณใใๅฉ็จใใ ใใใ',\n },\n },\n },\n processing_error: {\n description: 'An error occurred while processing the card.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, try again later.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใใฎๅฆ็ไธญใซใจใฉใผใ็บ็ใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n reenter_transaction: {\n description: 'The payment could not be processed by the issuer for an unknown reason.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ๅๅ ไธๆใฎใใใ็บ่ก่
ใๆฏๆใใๅฆ็ใงใใพใใใงใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n restricted_card: {\n description:\n 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description:\n 'ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n revocation_of_all_authorizations: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n revocation_of_authorization: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n security_violation: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n service_not_allowed: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n stolen_card: {\n description: 'The payment has been declined because the card is reported stolen.',\n nextSteps:\n 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n stop_payment_order: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n testmode_decline: {\n description: 'A Stripe test card number was used.',\n nextSteps: 'A genuine card must be used to make a payment.',\n nextUserAction: 'A genuine card must be used to make a payment.',\n translations: {\n ja: {\n description: 'Stripeใในใใซใผใ็ชๅทใไฝฟ็จใใพใใใ',\n nextUserAction: 'ๆฏๆใใซใฏๆฌ็ฉใฎใซใผใใไฝฟ็จใใๅฟ
่ฆใใใใพใใ',\n },\n },\n },\n transaction_not_allowed: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n try_again_later: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps:\n 'Ask the customer to attempt the payment again. If subsequent payments are declined, the customer should contact their card issuer for more information.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n withdrawal_count_limit_exceeded: {\n description: 'The customer has exceeded the balance or credit limit available on their card.',\n nextSteps: 'The customer should use an alternative payment method.',\n nextUserAction: 'Please use another card or contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ',\n nextUserAction: 'ๅฅใฎใซใผใใไฝฟ็จใใใใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n};\n","import { DECLINE_CODES, DOC_VERSION } from './data/decline-codes';\nimport type { DeclineCode, DeclineCodeResult, Locale } from './types';\n\n/**\n * Get decline code information with description and recommended actions\n *\n * @param declineCode - The Stripe decline code to look up\n * @returns Object containing the decline code information and documentation version\n *\n * @example\n * ```ts\n * const result = getDeclineDescription('insufficient_funds');\n * console.log(result.code.description);\n * // => \"The card has insufficient funds to complete the purchase.\"\n * console.log(result.code.nextUserAction);\n * // => \"Please try again using an alternative payment method.\"\n * ```\n */\nexport function getDeclineDescription(declineCode?: string): DeclineCodeResult {\n if (!declineCode || !isValidDeclineCode(declineCode)) {\n return {\n docVersion: DOC_VERSION,\n code: {},\n };\n }\n\n const code = DECLINE_CODES[declineCode];\n return {\n docVersion: DOC_VERSION,\n code,\n };\n}\n\n/**\n * Get localized decline code message for end users\n *\n * @param declineCode - The Stripe decline code\n * @param locale - The locale to use (default: 'en')\n * @returns User-facing message in the specified locale, or undefined if not found\n *\n * @example\n * ```ts\n * const message = getDeclineMessage('insufficient_funds', 'ja');\n * console.log(message);\n * // => \"ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ\"\n * ```\n */\nexport function getDeclineMessage(declineCode: string, locale: Locale = 'en'): string | undefined {\n if (!isValidDeclineCode(declineCode)) {\n return undefined;\n }\n\n const codeInfo = DECLINE_CODES[declineCode];\n\n if (locale === 'en') {\n return codeInfo.nextUserAction;\n }\n\n return codeInfo.translations?.[locale]?.nextUserAction;\n}\n\n/**\n * Get all available decline codes\n *\n * @returns Array of all supported decline code strings\n *\n * @example\n * ```ts\n * const codes = getAllDeclineCodes();\n * console.log(codes.length); // => 44\n * console.log(codes.includes('insufficient_funds')); // => true\n * ```\n */\nexport function getAllDeclineCodes(): DeclineCode[] {\n return Object.keys(DECLINE_CODES) as DeclineCode[];\n}\n\n/**\n * Check if a decline code is valid\n *\n * @param code - The code to validate\n * @returns True if the code exists in the database\n *\n * @example\n * ```ts\n * isValidDeclineCode('insufficient_funds'); // => true\n * isValidDeclineCode('invalid_code'); // => false\n * ```\n */\nexport function isValidDeclineCode(code: string): code is DeclineCode {\n return code in DECLINE_CODES;\n}\n\n/**\n * Get the documentation version for the decline codes data\n *\n * @returns The Stripe API documentation version string\n *\n * @example\n * ```ts\n * const version = getDocVersion();\n * console.log(version); // => \"2024-12-18\"\n * ```\n */\nexport function getDocVersion(): string {\n return DOC_VERSION;\n}\n\n/**\n * Format a decline message with custom template variables\n *\n * @param declineCode - The Stripe decline code\n * @param locale - The locale to use (default: 'en')\n * @param variables - Optional variables to replace in the message template\n * @returns Formatted user-facing message with variables replaced\n *\n * @example\n * ```ts\n * const message = formatDeclineMessage('insufficient_funds', 'en', {\n * merchantName: 'Acme Store',\n * supportEmail: 'support@acme.com'\n * });\n * console.log(message);\n * // => \"Please try again using an alternative payment method.\"\n * ```\n */\nexport function formatDeclineMessage(\n declineCode: string,\n locale: Locale = 'en',\n variables?: Record<string, string>,\n): string | undefined {\n const baseMessage = getDeclineMessage(declineCode, locale);\n\n if (!baseMessage) {\n return undefined;\n }\n\n if (!variables) {\n return baseMessage;\n }\n\n // Replace variables in the format {{variableName}}\n let formattedMessage = baseMessage;\n for (const [key, value] of Object.entries(variables)) {\n const placeholder = new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, 'g');\n formattedMessage = formattedMessage.replace(placeholder, value);\n }\n\n return formattedMessage;\n}\n\n// Export data for advanced use cases\nexport { DECLINE_CODES, DOC_VERSION } from './data/decline-codes';\n// Export types\nexport type {\n DeclineCode,\n DeclineCodeInfo,\n DeclineCodeResult,\n Locale,\n Translation,\n} from './types';\n"],"names":["DOC_VERSION","DECLINE_CODES","getDeclineDescription","declineCode","isValidDeclineCode","code","getDeclineMessage","locale","codeInfo","getAllDeclineCodes","getDocVersion","formatDeclineMessage","variables","baseMessage","formattedMessage","key","value","placeholder"],"mappings":"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"}
|
package/dist/index.es.js
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
const i = "2024-12-18", r = {
|
|
2
|
+
approve_with_id: {
|
|
3
|
+
description: "The payment cannot be authorized.",
|
|
4
|
+
nextSteps: "The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",
|
|
5
|
+
nextUserAction: "Please try again. If it still cannot be processed, the please contact your card issuer.",
|
|
6
|
+
translations: {
|
|
7
|
+
ja: {
|
|
8
|
+
description: "ๆฏๆใใฏๆฟ่ชใงใใพใใใ",
|
|
9
|
+
nextUserAction: "ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
call_issuer: {
|
|
14
|
+
description: "The card has been declined for an unknown reason.",
|
|
15
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
16
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
17
|
+
translations: {
|
|
18
|
+
ja: {
|
|
19
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
20
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
card_not_supported: {
|
|
25
|
+
description: "The card does not support this type of purchase.",
|
|
26
|
+
nextSteps: "The customer needs to contact their card issuer to make sure their card can be used to make this type of purchase.",
|
|
27
|
+
nextUserAction: "Your card issuer may not support this type of purchase, please contact your card issuer for more information.",
|
|
28
|
+
translations: {
|
|
29
|
+
ja: {
|
|
30
|
+
description: "ใซใผใใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใพใใใ",
|
|
31
|
+
nextUserAction: "ใซใผใ็บ่ก่
ใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใฆใใชใๅฏ่ฝๆงใใใใพใใ่ฉณ็ดฐใซใคใใฆใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
card_velocity_exceeded: {
|
|
36
|
+
description: "The customer has exceeded the balance or credit limit available on their card.",
|
|
37
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
38
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
39
|
+
translations: {
|
|
40
|
+
ja: {
|
|
41
|
+
description: "ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ",
|
|
42
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
currency_not_supported: {
|
|
47
|
+
description: "The card does not support the specified currency.",
|
|
48
|
+
nextSteps: "The customer needs to check with the issuer whether the card can be used for the type of currency specified.",
|
|
49
|
+
nextUserAction: "Please contact your card issuer to verify this type of currency can be used for this payment.",
|
|
50
|
+
translations: {
|
|
51
|
+
ja: {
|
|
52
|
+
description: "ใซใผใใฏๆๅฎใใใ้่ฒจใใตใใผใใใฆใใพใใใ",
|
|
53
|
+
nextUserAction: "ใใฎๆฏๆใใซใใฎใฟใคใใฎ้่ฒจใไฝฟ็จใงใใใใจใ็ขบ่ชใใใซใฏใใซใผใ็บ่กไผ็คพใซ้ฃ็ตกใใฆใใ ใใใ"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
do_not_honor: {
|
|
58
|
+
description: "The card has been declined for an unknown reason.",
|
|
59
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
60
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
61
|
+
translations: {
|
|
62
|
+
ja: {
|
|
63
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
64
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
do_not_try_again: {
|
|
69
|
+
description: "The card has been declined for an unknown reason.",
|
|
70
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
71
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
72
|
+
translations: {
|
|
73
|
+
ja: {
|
|
74
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
75
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
duplicate_transaction: {
|
|
80
|
+
description: "A transaction with identical amount and credit card information was submitted very recently.",
|
|
81
|
+
nextSteps: "Check to see if a recent payment already exists.",
|
|
82
|
+
nextUserAction: "Check to see if a recent payment already exists.",
|
|
83
|
+
translations: {
|
|
84
|
+
ja: {
|
|
85
|
+
description: "ใใๆ่ฟใๅไธใฎ้้กใจใฏใฌใธใใใซใผใๆ
ๅ ฑใไฝฟ็จใใๅๅผใ้ไฟกใใใพใใใ",
|
|
86
|
+
nextUserAction: "ๆ่ฟใฎๆฏๆใใๆขใซๅญๅจใใใใฉใใใ็ขบ่ชใใฆใใ ใใใ"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
expired_card: {
|
|
91
|
+
description: "The card has expired.",
|
|
92
|
+
nextSteps: "The customer should use another card.",
|
|
93
|
+
nextUserAction: "Please use another card.",
|
|
94
|
+
translations: {
|
|
95
|
+
ja: {
|
|
96
|
+
description: "ใซใผใใฏๆ้ๅใใงใใ",
|
|
97
|
+
nextUserAction: "ๅฅใฎใซใผใใไฝฟ็จใใฆใใ ใใใ"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
fraudulent: {
|
|
102
|
+
description: "The payment has been declined as Stripe suspects it is fraudulent.",
|
|
103
|
+
nextSteps: "Do not report more detailed information to your customer. Instead, present as you would the generic_decline described below.",
|
|
104
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
105
|
+
translations: {
|
|
106
|
+
ja: {
|
|
107
|
+
description: "ไธๆญฃใจๆใใใใใใๆฏๆใใฏๆๅฆใใใพใใใ",
|
|
108
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
generic_decline: {
|
|
113
|
+
description: "The card has been declined for an unknown reason.",
|
|
114
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
115
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
116
|
+
translations: {
|
|
117
|
+
ja: {
|
|
118
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
119
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
incorrect_number: {
|
|
124
|
+
description: "The card number is incorrect.",
|
|
125
|
+
nextSteps: "The customer should try again using the correct card number.",
|
|
126
|
+
nextUserAction: "Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.",
|
|
127
|
+
translations: {
|
|
128
|
+
ja: {
|
|
129
|
+
description: "ใซใผใ็ชๅทใๆญฃใใใใใพใใใ",
|
|
130
|
+
nextUserAction: "ใซใผใ็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
incorrect_cvc: {
|
|
135
|
+
description: "The CVC number is incorrect.",
|
|
136
|
+
nextSteps: "The customer should try again using the correct CVC.",
|
|
137
|
+
nextUserAction: "Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.",
|
|
138
|
+
translations: {
|
|
139
|
+
ja: {
|
|
140
|
+
description: "CVC็ชๅทใๆญฃใใใใใพใใใ",
|
|
141
|
+
nextUserAction: "CSC็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
incorrect_pin: {
|
|
146
|
+
description: "The PIN entered is incorrect. This decline code only applies to payments made with a card reader.",
|
|
147
|
+
nextSteps: "The customer should try again using the correct PIN.",
|
|
148
|
+
nextUserAction: "Please check your PIN and try again. If it still cannot be processed, the please contact your card issuer.",
|
|
149
|
+
translations: {
|
|
150
|
+
ja: {
|
|
151
|
+
description: "PINใณใผใใๆญฃใใใใใพใใใ",
|
|
152
|
+
nextUserAction: "PINใณใผใใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
incorrect_zip: {
|
|
157
|
+
description: "The ZIP/postal code is incorrect.",
|
|
158
|
+
nextSteps: "The customer should try again using the correct billing ZIP/postal code.",
|
|
159
|
+
nextUserAction: "Please try again using the correct ZIP/postal code.",
|
|
160
|
+
translations: {
|
|
161
|
+
ja: {
|
|
162
|
+
description: "้ตไพฟ็ชๅทใๆญฃใใใใใพใใใ",
|
|
163
|
+
nextUserAction: "ๆญฃใใ้ตไพฟ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
insufficient_funds: {
|
|
168
|
+
description: "The card has insufficient funds to complete the purchase.",
|
|
169
|
+
nextSteps: "The customer should use an alternative payment method.",
|
|
170
|
+
nextUserAction: "Please try again using an alternative payment method.",
|
|
171
|
+
translations: {
|
|
172
|
+
ja: {
|
|
173
|
+
description: "ใซใผใใฎ่ณผๅ
ฅใซๅฟ
่ฆใช่ณ้ใไธ่ถณใใฆใใพใใ",
|
|
174
|
+
nextUserAction: "ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
invalid_account: {
|
|
179
|
+
description: "The card, or account the card is connected to, is invalid.",
|
|
180
|
+
nextSteps: "The customer needs to contact their card issuer to check that the card is working correctly.",
|
|
181
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
182
|
+
translations: {
|
|
183
|
+
ja: {
|
|
184
|
+
description: "ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ",
|
|
185
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
invalid_amount: {
|
|
190
|
+
description: "The payment amount is invalid, or exceeds the amount that is allowed.",
|
|
191
|
+
nextSteps: "If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount.",
|
|
192
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
193
|
+
translations: {
|
|
194
|
+
ja: {
|
|
195
|
+
description: "ๆฏๆใ้้กใ็กๅนใงใใใใ่จฑๅฏใใใฆใใ้้กใ่ถ
ใใฆใใพใใ",
|
|
196
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
invalid_cvc: {
|
|
201
|
+
description: "The CVC number is incorrect.",
|
|
202
|
+
nextSteps: "The customer should try again using the correct CVC.",
|
|
203
|
+
nextUserAction: "Please try again using the correct CVC.",
|
|
204
|
+
translations: {
|
|
205
|
+
ja: {
|
|
206
|
+
description: "CVC็ชๅทใๆญฃใใใใใพใใใ",
|
|
207
|
+
nextUserAction: "ๆญฃใใCVCใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
invalid_expiry_year: {
|
|
212
|
+
description: "The expiration year invalid.",
|
|
213
|
+
nextSteps: "The customer should try again using the correct expiration date.",
|
|
214
|
+
nextUserAction: "Please try again using the correct expiration date.",
|
|
215
|
+
translations: {
|
|
216
|
+
ja: {
|
|
217
|
+
description: "ๆๅนๆ้ใ็กๅนใงใใ",
|
|
218
|
+
nextUserAction: "ๆญฃใใๆๅนๆ้ใๅ
ฅๅใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
invalid_number: {
|
|
223
|
+
description: "The card number is incorrect.",
|
|
224
|
+
nextSteps: "The customer should try again using the correct card number.",
|
|
225
|
+
nextUserAction: "Please try again using the correct card number.",
|
|
226
|
+
translations: {
|
|
227
|
+
ja: {
|
|
228
|
+
description: "ใซใผใ็ชๅทใๆญฃใใใใใพใใใ",
|
|
229
|
+
nextUserAction: "ๆญฃใใใซใผใ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
invalid_pin: {
|
|
234
|
+
description: "The PIN entered is incorrect. This decline code only applies to payments made with a card reader.",
|
|
235
|
+
nextSteps: "The customer should try again using the correct PIN.",
|
|
236
|
+
nextUserAction: "Please try again using the correct card PIN.",
|
|
237
|
+
translations: {
|
|
238
|
+
ja: {
|
|
239
|
+
description: "PINใณใผใใๆญฃใใใใใพใใใ",
|
|
240
|
+
nextUserAction: "ๆญฃใใPINใณใผใใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
issuer_not_available: {
|
|
245
|
+
description: "The card issuer could not be reached, so the payment could not be authorized.",
|
|
246
|
+
nextSteps: "The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",
|
|
247
|
+
nextUserAction: "Please try again. If it still cannot be processed, the please contact your card issuer.",
|
|
248
|
+
translations: {
|
|
249
|
+
ja: {
|
|
250
|
+
description: "ใซใผใ็บ่ก่
ใซ้ฃ็ตกใงใใชใใฃใใใใๆฏๆใใๆฟ่ชใงใใพใใใงใใใ",
|
|
251
|
+
nextUserAction: "ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
lost_card: {
|
|
256
|
+
description: "The payment has been declined because the card is reported lost.",
|
|
257
|
+
nextSteps: "The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.",
|
|
258
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
259
|
+
translations: {
|
|
260
|
+
ja: {
|
|
261
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
262
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
merchant_blacklist: {
|
|
267
|
+
description: "The payment has been declined because it matches a value on the Stripe user's blocklist.",
|
|
268
|
+
nextSteps: "Do not report more detailed information to your customer. Instead, present as you would the generic_decline described above.",
|
|
269
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
270
|
+
translations: {
|
|
271
|
+
ja: {
|
|
272
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
273
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
new_account_information_available: {
|
|
278
|
+
description: "The card, or account the card is connected to, is invalid.",
|
|
279
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
280
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
281
|
+
translations: {
|
|
282
|
+
ja: {
|
|
283
|
+
description: "ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ",
|
|
284
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
no_action_taken: {
|
|
289
|
+
description: "The card has been declined for an unknown reason.",
|
|
290
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
291
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
292
|
+
translations: {
|
|
293
|
+
ja: {
|
|
294
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
295
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
not_permitted: {
|
|
300
|
+
description: "The payment is not permitted.",
|
|
301
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
302
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
303
|
+
translations: {
|
|
304
|
+
ja: {
|
|
305
|
+
description: "ๆฏๆใใฏ่จฑๅฏใใใฆใใพใใใ",
|
|
306
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
pickup_card: {
|
|
311
|
+
description: "The card cannot be used to make this payment (it is possible it has been reported lost or stolen).",
|
|
312
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
313
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
314
|
+
translations: {
|
|
315
|
+
ja: {
|
|
316
|
+
description: "ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ",
|
|
317
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
pin_try_exceeded: {
|
|
322
|
+
description: "The allowable number of PIN tries has been exceeded.",
|
|
323
|
+
nextSteps: "The customer must use another card or method of payment.",
|
|
324
|
+
nextUserAction: "Please use another card or method of payment.",
|
|
325
|
+
translations: {
|
|
326
|
+
ja: {
|
|
327
|
+
description: "PIN่ฉฆ่กๅๆฐใฎไธ้ใ่ถ
ใใพใใใ",
|
|
328
|
+
nextUserAction: "ๅฅใฎใซใผใใพใใฏใๆฏๆใๆนๆณใใๅฉ็จใใ ใใใ"
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
processing_error: {
|
|
333
|
+
description: "An error occurred while processing the card.",
|
|
334
|
+
nextSteps: "The payment should be attempted again. If it still cannot be processed, try again later.",
|
|
335
|
+
nextUserAction: "Please try again. If it still cannot be processed, the please contact your card issuer.",
|
|
336
|
+
translations: {
|
|
337
|
+
ja: {
|
|
338
|
+
description: "ใซใผใใฎๅฆ็ไธญใซใจใฉใผใ็บ็ใใพใใใ",
|
|
339
|
+
nextUserAction: "ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
reenter_transaction: {
|
|
344
|
+
description: "The payment could not be processed by the issuer for an unknown reason.",
|
|
345
|
+
nextSteps: "The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.",
|
|
346
|
+
nextUserAction: "Please try again. If it still cannot be processed, the please contact your card issuer.",
|
|
347
|
+
translations: {
|
|
348
|
+
ja: {
|
|
349
|
+
description: "ๅๅ ไธๆใฎใใใ็บ่ก่
ใๆฏๆใใๅฆ็ใงใใพใใใงใใใ",
|
|
350
|
+
nextUserAction: "ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
restricted_card: {
|
|
355
|
+
description: "The card cannot be used to make this payment (it is possible it has been reported lost or stolen).",
|
|
356
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
357
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
358
|
+
translations: {
|
|
359
|
+
ja: {
|
|
360
|
+
description: "ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ",
|
|
361
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
revocation_of_all_authorizations: {
|
|
366
|
+
description: "The card has been declined for an unknown reason.",
|
|
367
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
368
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
369
|
+
translations: {
|
|
370
|
+
ja: {
|
|
371
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
372
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
revocation_of_authorization: {
|
|
377
|
+
description: "The card has been declined for an unknown reason.",
|
|
378
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
379
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
380
|
+
translations: {
|
|
381
|
+
ja: {
|
|
382
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
383
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
security_violation: {
|
|
388
|
+
description: "The card has been declined for an unknown reason.",
|
|
389
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
390
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
391
|
+
translations: {
|
|
392
|
+
ja: {
|
|
393
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
394
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
service_not_allowed: {
|
|
399
|
+
description: "The card has been declined for an unknown reason.",
|
|
400
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
401
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
402
|
+
translations: {
|
|
403
|
+
ja: {
|
|
404
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
405
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
stolen_card: {
|
|
410
|
+
description: "The payment has been declined because the card is reported stolen.",
|
|
411
|
+
nextSteps: "The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.",
|
|
412
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
413
|
+
translations: {
|
|
414
|
+
ja: {
|
|
415
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
416
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
stop_payment_order: {
|
|
421
|
+
description: "The card has been declined for an unknown reason.",
|
|
422
|
+
nextSteps: "The customer should contact their card issuer for more information.",
|
|
423
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
424
|
+
translations: {
|
|
425
|
+
ja: {
|
|
426
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
427
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
testmode_decline: {
|
|
432
|
+
description: "A Stripe test card number was used.",
|
|
433
|
+
nextSteps: "A genuine card must be used to make a payment.",
|
|
434
|
+
nextUserAction: "A genuine card must be used to make a payment.",
|
|
435
|
+
translations: {
|
|
436
|
+
ja: {
|
|
437
|
+
description: "Stripeใในใใซใผใ็ชๅทใไฝฟ็จใใพใใใ",
|
|
438
|
+
nextUserAction: "ๆฏๆใใซใฏๆฌ็ฉใฎใซใผใใไฝฟ็จใใๅฟ
่ฆใใใใพใใ"
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
transaction_not_allowed: {
|
|
443
|
+
description: "The card has been declined for an unknown reason.",
|
|
444
|
+
nextSteps: "The customer needs to contact their card issuer for more information.",
|
|
445
|
+
nextUserAction: "Please contact your card issuer for more information.",
|
|
446
|
+
translations: {
|
|
447
|
+
ja: {
|
|
448
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
449
|
+
nextUserAction: "่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
try_again_later: {
|
|
454
|
+
description: "The card has been declined for an unknown reason.",
|
|
455
|
+
nextSteps: "Ask the customer to attempt the payment again. If subsequent payments are declined, the customer should contact their card issuer for more information.",
|
|
456
|
+
nextUserAction: "Please try again. If it still cannot be processed, the please contact your card issuer.",
|
|
457
|
+
translations: {
|
|
458
|
+
ja: {
|
|
459
|
+
description: "ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ",
|
|
460
|
+
nextUserAction: "ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
withdrawal_count_limit_exceeded: {
|
|
465
|
+
description: "The customer has exceeded the balance or credit limit available on their card.",
|
|
466
|
+
nextSteps: "The customer should use an alternative payment method.",
|
|
467
|
+
nextUserAction: "Please use another card or contact your card issuer for more information.",
|
|
468
|
+
translations: {
|
|
469
|
+
ja: {
|
|
470
|
+
description: "ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ",
|
|
471
|
+
nextUserAction: "ๅฅใฎใซใผใใไฝฟ็จใใใใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ"
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
function l(e) {
|
|
477
|
+
if (!e || !a(e))
|
|
478
|
+
return {
|
|
479
|
+
docVersion: i,
|
|
480
|
+
code: {}
|
|
481
|
+
};
|
|
482
|
+
const t = r[e];
|
|
483
|
+
return {
|
|
484
|
+
docVersion: i,
|
|
485
|
+
code: t
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
function p(e, t = "en") {
|
|
489
|
+
if (!a(e))
|
|
490
|
+
return;
|
|
491
|
+
const n = r[e];
|
|
492
|
+
return t === "en" ? n.nextUserAction : n.translations?.[t]?.nextUserAction;
|
|
493
|
+
}
|
|
494
|
+
function h() {
|
|
495
|
+
return Object.keys(r);
|
|
496
|
+
}
|
|
497
|
+
function a(e) {
|
|
498
|
+
return e in r;
|
|
499
|
+
}
|
|
500
|
+
function m() {
|
|
501
|
+
return i;
|
|
502
|
+
}
|
|
503
|
+
function f(e, t = "en", n) {
|
|
504
|
+
const o = p(e, t);
|
|
505
|
+
if (!o)
|
|
506
|
+
return;
|
|
507
|
+
if (!n)
|
|
508
|
+
return o;
|
|
509
|
+
let s = o;
|
|
510
|
+
for (const [c, d] of Object.entries(n)) {
|
|
511
|
+
const u = new RegExp(`\\{\\{${c}\\}\\}`, "g");
|
|
512
|
+
s = s.replace(u, d);
|
|
513
|
+
}
|
|
514
|
+
return s;
|
|
515
|
+
}
|
|
516
|
+
export {
|
|
517
|
+
r as DECLINE_CODES,
|
|
518
|
+
i as DOC_VERSION,
|
|
519
|
+
f as formatDeclineMessage,
|
|
520
|
+
h as getAllDeclineCodes,
|
|
521
|
+
l as getDeclineDescription,
|
|
522
|
+
p as getDeclineMessage,
|
|
523
|
+
m as getDocVersion,
|
|
524
|
+
a as isValidDeclineCode
|
|
525
|
+
};
|
|
526
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/data/decline-codes.ts","../src/index.ts"],"sourcesContent":["import type { DeclineCode, DeclineCodeInfo } from '../types';\n\n/**\n * Stripe API documentation version for decline codes\n * Last updated: 2024-12\n * Reference: https://docs.stripe.com/declines/codes\n */\nexport const DOC_VERSION = '2024-12-18';\n\n/**\n * Complete database of Stripe decline codes with descriptions and recommended actions\n * Includes English and Japanese translations\n */\nexport const DECLINE_CODES: Record<DeclineCode, DeclineCodeInfo> = {\n approve_with_id: {\n description: 'The payment cannot be authorized.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ๆฏๆใใฏๆฟ่ชใงใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n call_issuer: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n card_not_supported: {\n description: 'The card does not support this type of purchase.',\n nextSteps:\n 'The customer needs to contact their card issuer to make sure their card can be used to make this type of purchase.',\n nextUserAction:\n 'Your card issuer may not support this type of purchase, please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใพใใใ',\n nextUserAction:\n 'ใซใผใ็บ่ก่
ใฏใใฎใฟใคใใฎ่ณผๅ
ฅใใตใใผใใใฆใใชใๅฏ่ฝๆงใใใใพใใ่ฉณ็ดฐใซใคใใฆใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n card_velocity_exceeded: {\n description: 'The customer has exceeded the balance or credit limit available on their card.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n currency_not_supported: {\n description: 'The card does not support the specified currency.',\n nextSteps:\n 'The customer needs to check with the issuer whether the card can be used for the type of currency specified.',\n nextUserAction:\n 'Please contact your card issuer to verify this type of currency can be used for this payment.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆๅฎใใใ้่ฒจใใตใใผใใใฆใใพใใใ',\n nextUserAction:\n 'ใใฎๆฏๆใใซใใฎใฟใคใใฎ้่ฒจใไฝฟ็จใงใใใใจใ็ขบ่ชใใใซใฏใใซใผใ็บ่กไผ็คพใซ้ฃ็ตกใใฆใใ ใใใ',\n },\n },\n },\n do_not_honor: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n do_not_try_again: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n duplicate_transaction: {\n description:\n 'A transaction with identical amount and credit card information was submitted very recently.',\n nextSteps: 'Check to see if a recent payment already exists.',\n nextUserAction: 'Check to see if a recent payment already exists.',\n translations: {\n ja: {\n description: 'ใใๆ่ฟใๅไธใฎ้้กใจใฏใฌใธใใใซใผใๆ
ๅ ฑใไฝฟ็จใใๅๅผใ้ไฟกใใใพใใใ',\n nextUserAction: 'ๆ่ฟใฎๆฏๆใใๆขใซๅญๅจใใใใฉใใใ็ขบ่ชใใฆใใ ใใใ',\n },\n },\n },\n expired_card: {\n description: 'The card has expired.',\n nextSteps: 'The customer should use another card.',\n nextUserAction: 'Please use another card.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆ้ๅใใงใใ',\n nextUserAction: 'ๅฅใฎใซใผใใไฝฟ็จใใฆใใ ใใใ',\n },\n },\n },\n fraudulent: {\n description: 'The payment has been declined as Stripe suspects it is fraudulent.',\n nextSteps:\n 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described below.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ไธๆญฃใจๆใใใใใใๆฏๆใใฏๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n generic_decline: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_number: {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.',\n nextUserAction:\n 'Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'ใซใผใ็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_cvc: {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.',\n nextUserAction:\n 'Please check your card numbers and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'CVC็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'CSC็ชๅทใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_pin: {\n description:\n 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.',\n nextUserAction:\n 'Please check your PIN and try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'PINใณใผใใๆญฃใใใใใพใใใ',\n nextUserAction:\n 'PINใณใผใใ็ขบ่ชใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n incorrect_zip: {\n description: 'The ZIP/postal code is incorrect.',\n nextSteps: 'The customer should try again using the correct billing ZIP/postal code.',\n nextUserAction: 'Please try again using the correct ZIP/postal code.',\n translations: {\n ja: {\n description: '้ตไพฟ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใ้ตไพฟ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n insufficient_funds: {\n description: 'The card has insufficient funds to complete the purchase.',\n nextSteps: 'The customer should use an alternative payment method.',\n nextUserAction: 'Please try again using an alternative payment method.',\n translations: {\n ja: {\n description: 'ใซใผใใฎ่ณผๅ
ฅใซๅฟ
่ฆใช่ณ้ใไธ่ถณใใฆใใพใใ',\n nextUserAction: 'ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n invalid_account: {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps:\n 'The customer needs to contact their card issuer to check that the card is working correctly.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n invalid_amount: {\n description: 'The payment amount is invalid, or exceeds the amount that is allowed.',\n nextSteps:\n 'If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ๆฏๆใ้้กใ็กๅนใงใใใใ่จฑๅฏใใใฆใใ้้กใ่ถ
ใใฆใใพใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n invalid_cvc: {\n description: 'The CVC number is incorrect.',\n nextSteps: 'The customer should try again using the correct CVC.',\n nextUserAction: 'Please try again using the correct CVC.',\n translations: {\n ja: {\n description: 'CVC็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใCVCใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n invalid_expiry_year: {\n description: 'The expiration year invalid.',\n nextSteps: 'The customer should try again using the correct expiration date.',\n nextUserAction: 'Please try again using the correct expiration date.',\n translations: {\n ja: {\n description: 'ๆๅนๆ้ใ็กๅนใงใใ',\n nextUserAction: 'ๆญฃใใๆๅนๆ้ใๅ
ฅๅใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ',\n },\n },\n },\n invalid_number: {\n description: 'The card number is incorrect.',\n nextSteps: 'The customer should try again using the correct card number.',\n nextUserAction: 'Please try again using the correct card number.',\n translations: {\n ja: {\n description: 'ใซใผใ็ชๅทใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใใซใผใ็ชๅทใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n invalid_pin: {\n description:\n 'The PIN entered is incorrect. This decline code only applies to payments made with a card reader.',\n nextSteps: 'The customer should try again using the correct PIN.',\n nextUserAction: 'Please try again using the correct card PIN.',\n translations: {\n ja: {\n description: 'PINใณใผใใๆญฃใใใใใพใใใ',\n nextUserAction: 'ๆญฃใใPINใณใผใใไฝฟ็จใใฆใใไธๅบฆใใ็ดใใฆใใ ใใใ',\n },\n },\n },\n issuer_not_available: {\n description: 'The card issuer could not be reached, so the payment could not be authorized.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใ็บ่ก่
ใซ้ฃ็ตกใงใใชใใฃใใใใๆฏๆใใๆฟ่ชใงใใพใใใงใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n lost_card: {\n description: 'The payment has been declined because the card is reported lost.',\n nextSteps:\n 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n merchant_blacklist: {\n description:\n \"The payment has been declined because it matches a value on the Stripe user's blocklist.\",\n nextSteps:\n 'Do not report more detailed information to your customer. Instead, present as you would the generic_decline described above.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n new_account_information_available: {\n description: 'The card, or account the card is connected to, is invalid.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใใพใใฏใซใผใใๆฅ็ถใใใฆใใใขใซใฆใณใใ็กๅนใงใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n no_action_taken: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n not_permitted: {\n description: 'The payment is not permitted.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ๆฏๆใใฏ่จฑๅฏใใใฆใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n pickup_card: {\n description:\n 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description:\n 'ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n pin_try_exceeded: {\n description: 'The allowable number of PIN tries has been exceeded.',\n nextSteps: 'The customer must use another card or method of payment.',\n nextUserAction: 'Please use another card or method of payment.',\n translations: {\n ja: {\n description: 'PIN่ฉฆ่กๅๆฐใฎไธ้ใ่ถ
ใใพใใใ',\n nextUserAction: 'ๅฅใฎใซใผใใพใใฏใๆฏๆใๆนๆณใใๅฉ็จใใ ใใใ',\n },\n },\n },\n processing_error: {\n description: 'An error occurred while processing the card.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, try again later.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใใฎๅฆ็ไธญใซใจใฉใผใ็บ็ใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n reenter_transaction: {\n description: 'The payment could not be processed by the issuer for an unknown reason.',\n nextSteps:\n 'The payment should be attempted again. If it still cannot be processed, the customer needs to contact their card issuer.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ๅๅ ไธๆใฎใใใ็บ่ก่
ใๆฏๆใใๅฆ็ใงใใพใใใงใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n restricted_card: {\n description:\n 'The card cannot be used to make this payment (it is possible it has been reported lost or stolen).',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description:\n 'ใซใผใใงใใฎๆฏๆใใ่กใใใจใฏใงใใพใใ๏ผ็ดๅคฑใพใใฏ็้ฃใซใใฃใใจๅ ฑๅใใใฆใใๅฏ่ฝๆงใใใใพใ๏ผใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n revocation_of_all_authorizations: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n revocation_of_authorization: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n security_violation: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n service_not_allowed: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n stolen_card: {\n description: 'The payment has been declined because the card is reported stolen.',\n nextSteps:\n 'The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n stop_payment_order: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer should contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n testmode_decline: {\n description: 'A Stripe test card number was used.',\n nextSteps: 'A genuine card must be used to make a payment.',\n nextUserAction: 'A genuine card must be used to make a payment.',\n translations: {\n ja: {\n description: 'Stripeใในใใซใผใ็ชๅทใไฝฟ็จใใพใใใ',\n nextUserAction: 'ๆฏๆใใซใฏๆฌ็ฉใฎใซใผใใไฝฟ็จใใๅฟ
่ฆใใใใพใใ',\n },\n },\n },\n transaction_not_allowed: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps: 'The customer needs to contact their card issuer for more information.',\n nextUserAction: 'Please contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction: '่ฉณใใใฏใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n try_again_later: {\n description: 'The card has been declined for an unknown reason.',\n nextSteps:\n 'Ask the customer to attempt the payment again. If subsequent payments are declined, the customer should contact their card issuer for more information.',\n nextUserAction:\n 'Please try again. If it still cannot be processed, the please contact your card issuer.',\n translations: {\n ja: {\n description: 'ใซใผใใฏๆช็ฅใฎ็็ฑใงๆๅฆใใใพใใใ',\n nextUserAction:\n 'ใใไธๅบฆใใ็ดใใฆใใ ใใใใใใงใๅฆ็ใงใใชใๅ ดๅใฏใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n withdrawal_count_limit_exceeded: {\n description: 'The customer has exceeded the balance or credit limit available on their card.',\n nextSteps: 'The customer should use an alternative payment method.',\n nextUserAction: 'Please use another card or contact your card issuer for more information.',\n translations: {\n ja: {\n description: 'ใใฎใซใผใใฎๆฎ้ซใพใใฏใฏใฌใธใใๅถ้ใ่ถ
ใใพใใใ',\n nextUserAction: 'ๅฅใฎใซใผใใไฝฟ็จใใใใใซใผใ็บ่กไผ็คพใซใๅใๅใใใใ ใใใ',\n },\n },\n },\n};\n","import { DECLINE_CODES, DOC_VERSION } from './data/decline-codes';\nimport type { DeclineCode, DeclineCodeResult, Locale } from './types';\n\n/**\n * Get decline code information with description and recommended actions\n *\n * @param declineCode - The Stripe decline code to look up\n * @returns Object containing the decline code information and documentation version\n *\n * @example\n * ```ts\n * const result = getDeclineDescription('insufficient_funds');\n * console.log(result.code.description);\n * // => \"The card has insufficient funds to complete the purchase.\"\n * console.log(result.code.nextUserAction);\n * // => \"Please try again using an alternative payment method.\"\n * ```\n */\nexport function getDeclineDescription(declineCode?: string): DeclineCodeResult {\n if (!declineCode || !isValidDeclineCode(declineCode)) {\n return {\n docVersion: DOC_VERSION,\n code: {},\n };\n }\n\n const code = DECLINE_CODES[declineCode];\n return {\n docVersion: DOC_VERSION,\n code,\n };\n}\n\n/**\n * Get localized decline code message for end users\n *\n * @param declineCode - The Stripe decline code\n * @param locale - The locale to use (default: 'en')\n * @returns User-facing message in the specified locale, or undefined if not found\n *\n * @example\n * ```ts\n * const message = getDeclineMessage('insufficient_funds', 'ja');\n * console.log(message);\n * // => \"ๅฅใฎใๆฏๆใๆนๆณใไฝฟ็จใใฆใใไธๅบฆใ่ฉฆใใใ ใใใ\"\n * ```\n */\nexport function getDeclineMessage(declineCode: string, locale: Locale = 'en'): string | undefined {\n if (!isValidDeclineCode(declineCode)) {\n return undefined;\n }\n\n const codeInfo = DECLINE_CODES[declineCode];\n\n if (locale === 'en') {\n return codeInfo.nextUserAction;\n }\n\n return codeInfo.translations?.[locale]?.nextUserAction;\n}\n\n/**\n * Get all available decline codes\n *\n * @returns Array of all supported decline code strings\n *\n * @example\n * ```ts\n * const codes = getAllDeclineCodes();\n * console.log(codes.length); // => 44\n * console.log(codes.includes('insufficient_funds')); // => true\n * ```\n */\nexport function getAllDeclineCodes(): DeclineCode[] {\n return Object.keys(DECLINE_CODES) as DeclineCode[];\n}\n\n/**\n * Check if a decline code is valid\n *\n * @param code - The code to validate\n * @returns True if the code exists in the database\n *\n * @example\n * ```ts\n * isValidDeclineCode('insufficient_funds'); // => true\n * isValidDeclineCode('invalid_code'); // => false\n * ```\n */\nexport function isValidDeclineCode(code: string): code is DeclineCode {\n return code in DECLINE_CODES;\n}\n\n/**\n * Get the documentation version for the decline codes data\n *\n * @returns The Stripe API documentation version string\n *\n * @example\n * ```ts\n * const version = getDocVersion();\n * console.log(version); // => \"2024-12-18\"\n * ```\n */\nexport function getDocVersion(): string {\n return DOC_VERSION;\n}\n\n/**\n * Format a decline message with custom template variables\n *\n * @param declineCode - The Stripe decline code\n * @param locale - The locale to use (default: 'en')\n * @param variables - Optional variables to replace in the message template\n * @returns Formatted user-facing message with variables replaced\n *\n * @example\n * ```ts\n * const message = formatDeclineMessage('insufficient_funds', 'en', {\n * merchantName: 'Acme Store',\n * supportEmail: 'support@acme.com'\n * });\n * console.log(message);\n * // => \"Please try again using an alternative payment method.\"\n * ```\n */\nexport function formatDeclineMessage(\n declineCode: string,\n locale: Locale = 'en',\n variables?: Record<string, string>,\n): string | undefined {\n const baseMessage = getDeclineMessage(declineCode, locale);\n\n if (!baseMessage) {\n return undefined;\n }\n\n if (!variables) {\n return baseMessage;\n }\n\n // Replace variables in the format {{variableName}}\n let formattedMessage = baseMessage;\n for (const [key, value] of Object.entries(variables)) {\n const placeholder = new RegExp(`\\\\{\\\\{${key}\\\\}\\\\}`, 'g');\n formattedMessage = formattedMessage.replace(placeholder, value);\n }\n\n return formattedMessage;\n}\n\n// Export data for advanced use cases\nexport { DECLINE_CODES, DOC_VERSION } from './data/decline-codes';\n// Export types\nexport type {\n DeclineCode,\n DeclineCodeInfo,\n DeclineCodeResult,\n Locale,\n Translation,\n} from './types';\n"],"names":["DOC_VERSION","DECLINE_CODES","getDeclineDescription","declineCode","isValidDeclineCode","code","getDeclineMessage","locale","codeInfo","getAllDeclineCodes","getDocVersion","formatDeclineMessage","variables","baseMessage","formattedMessage","key","value","placeholder"],"mappings":"AAOO,MAAMA,IAAc,cAMdC,IAAsD;AAAA,EACjE,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,aAAa;AAAA,IACX,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,oBAAoB;AAAA,IAClB,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,wBAAwB;AAAA,IACtB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,wBAAwB;AAAA,IACtB,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,cAAc;AAAA,IACZ,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kBAAkB;AAAA,IAChB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,uBAAuB;AAAA,IACrB,aACE;AAAA,IACF,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,cAAc;AAAA,IACZ,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,YAAY;AAAA,IACV,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kBAAkB;AAAA,IAChB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,eAAe;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,eAAe;AAAA,IACb,aACE;AAAA,IACF,WAAW;AAAA,IACX,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,eAAe;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,oBAAoB;AAAA,IAClB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,gBAAgB;AAAA,IACd,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,aAAa;AAAA,IACX,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,qBAAqB;AAAA,IACnB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,gBAAgB;AAAA,IACd,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,aAAa;AAAA,IACX,aACE;AAAA,IACF,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,sBAAsB;AAAA,IACpB,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,oBAAoB;AAAA,IAClB,aACE;AAAA,IACF,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,mCAAmC;AAAA,IACjC,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,eAAe;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,aAAa;AAAA,IACX,aACE;AAAA,IACF,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aACE;AAAA,QACF,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kBAAkB;AAAA,IAChB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kBAAkB;AAAA,IAChB,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,qBAAqB;AAAA,IACnB,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,aACE;AAAA,IACF,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aACE;AAAA,QACF,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kCAAkC;AAAA,IAChC,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,6BAA6B;AAAA,IAC3B,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,oBAAoB;AAAA,IAClB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,qBAAqB;AAAA,IACnB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,aAAa;AAAA,IACX,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,oBAAoB;AAAA,IAClB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,kBAAkB;AAAA,IAChB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,yBAAyB;AAAA,IACvB,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAAA,EAEF,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,WACE;AAAA,IACF,gBACE;AAAA,IACF,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBACE;AAAA,MAAA;AAAA,IACJ;AAAA,EACF;AAAA,EAEF,iCAAiC;AAAA,IAC/B,aAAa;AAAA,IACb,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,cAAc;AAAA,MACZ,IAAI;AAAA,QACF,aAAa;AAAA,QACb,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EACF;AAEJ;AC9fO,SAASC,EAAsBC,GAAyC;AAC7E,MAAI,CAACA,KAAe,CAACC,EAAmBD,CAAW;AACjD,WAAO;AAAA,MACL,YAAYH;AAAA,MACZ,MAAM,CAAA;AAAA,IAAC;AAIX,QAAMK,IAAOJ,EAAcE,CAAW;AACtC,SAAO;AAAA,IACL,YAAYH;AAAA,IACZ,MAAAK;AAAA,EAAA;AAEJ;AAgBO,SAASC,EAAkBH,GAAqBI,IAAiB,MAA0B;AAChG,MAAI,CAACH,EAAmBD,CAAW;AACjC;AAGF,QAAMK,IAAWP,EAAcE,CAAW;AAE1C,SAAII,MAAW,OACNC,EAAS,iBAGXA,EAAS,eAAeD,CAAM,GAAG;AAC1C;AAcO,SAASE,IAAoC;AAClD,SAAO,OAAO,KAAKR,CAAa;AAClC;AAcO,SAASG,EAAmBC,GAAmC;AACpE,SAAOA,KAAQJ;AACjB;AAaO,SAASS,IAAwB;AACtC,SAAOV;AACT;AAoBO,SAASW,EACdR,GACAI,IAAiB,MACjBK,GACoB;AACpB,QAAMC,IAAcP,EAAkBH,GAAaI,CAAM;AAEzD,MAAI,CAACM;AACH;AAGF,MAAI,CAACD;AACH,WAAOC;AAIT,MAAIC,IAAmBD;AACvB,aAAW,CAACE,GAAKC,CAAK,KAAK,OAAO,QAAQJ,CAAS,GAAG;AACpD,UAAMK,IAAc,IAAI,OAAO,SAASF,CAAG,UAAU,GAAG;AACxD,IAAAD,IAAmBA,EAAiB,QAAQG,GAAaD,CAAK;AAAA,EAChE;AAEA,SAAOF;AACT;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "stripe-decline-codes",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Complete database of Stripe decline codes with descriptions and localized messages",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs.js",
|
|
7
|
+
"module": "./dist/index.es.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.es.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"default": "./dist/index.cjs.js"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"README.md",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc && vite build",
|
|
28
|
+
"test": "vitest run",
|
|
29
|
+
"test:watch": "vitest",
|
|
30
|
+
"test:coverage": "vitest run --coverage",
|
|
31
|
+
"lint": "biome check .",
|
|
32
|
+
"lint:fix": "biome check --write .",
|
|
33
|
+
"format": "biome format --write .",
|
|
34
|
+
"typecheck": "tsc --noEmit",
|
|
35
|
+
"prepublishOnly": "npm run lint && npm run typecheck && npm run test && npm run build",
|
|
36
|
+
"release": "np"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "git+https://github.com/hideokamoto/stripe-decline-codes.git"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/hideokamoto/stripe-decline-codes/issues"
|
|
44
|
+
},
|
|
45
|
+
"keywords": [
|
|
46
|
+
"stripe",
|
|
47
|
+
"decline",
|
|
48
|
+
"decline-codes",
|
|
49
|
+
"payment",
|
|
50
|
+
"error-messages",
|
|
51
|
+
"localization",
|
|
52
|
+
"i18n",
|
|
53
|
+
"typescript"
|
|
54
|
+
],
|
|
55
|
+
"author": "Hidetaka Okamoto <info@wp-kyoto.net> (https://wp-kyoto.net)",
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">= 18.0.0"
|
|
59
|
+
},
|
|
60
|
+
"overrides": {
|
|
61
|
+
"tmp": "^0.2.5"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@biomejs/biome": "^2.3.6",
|
|
65
|
+
"@types/node": "^24.10.1",
|
|
66
|
+
"np": "^10.2.0",
|
|
67
|
+
"typescript": "^5.9.3",
|
|
68
|
+
"vite": "^7.2.2",
|
|
69
|
+
"vitest": "^4.0.10"
|
|
70
|
+
}
|
|
71
|
+
}
|