@agent-cards/sdk 0.23.13 → 0.23.15
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/CHANGELOG.md +39 -0
- package/PREFLIGHT.md +3 -1
- package/README.md +54 -13
- package/dist/adyen-merchant-hosted.generated.js +2 -2
- package/dist/amadeus.d.ts +5 -2
- package/dist/amadeus.js +17 -3
- package/dist/card-fields.generated.js +924 -3
- package/dist/cdp.js +83 -19
- package/dist/client.d.ts +97 -1
- package/dist/client.js +235 -16
- package/dist/creditguard.generated.d.ts +100 -2
- package/dist/creditguard.generated.js +333 -3
- package/dist/datatrans.generated.d.ts +19 -4
- package/dist/datatrans.generated.js +15 -3
- package/dist/ebanx.d.ts +107 -0
- package/dist/ebanx.generated.d.ts +78 -0
- package/dist/ebanx.generated.js +577 -0
- package/dist/ebanx.js +159 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/lifecycle.d.ts +32 -5
- package/dist/lifecycle.js +40 -5
- package/dist/paddle-tokenex.d.ts +56 -0
- package/dist/paddle-tokenex.generated.d.ts +67 -0
- package/dist/paddle-tokenex.generated.js +951 -0
- package/dist/paddle-tokenex.js +95 -0
- package/dist/paypal-card-forms.d.ts +73 -0
- package/dist/paypal-card-forms.js +126 -0
- package/dist/pre-claim.d.ts +39 -1
- package/dist/pre-claim.js +348 -18
- package/dist/preparation.d.ts +13 -0
- package/dist/preparation.js +22 -0
- package/dist/prepared-processor.d.ts +5 -1
- package/dist/prepared-processor.js +17 -2
- package/dist/primer.generated.js +960 -39
- package/dist/redsys.d.ts +42 -0
- package/dist/redsys.js +68 -0
- package/dist/stripe-checkout.generated.js +494 -9
- package/dist/wix-payments.generated.d.ts +42 -0
- package/dist/wix-payments.generated.js +241 -0
- package/package.json +8 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
// Generated from @agent-cards/payment-core. Do not edit.
|
|
3
|
-
// artifact-sha256:
|
|
3
|
+
// artifact-sha256: ce4887768a0ee59bbca5f329bce47a2831a24b06d7bea1d5517335f7afad75e0
|
|
4
4
|
// src/deep-freeze.js
|
|
5
5
|
function deepFreeze(value) {
|
|
6
6
|
if (value && typeof value === "object" && !Object.isFrozen(value)) {
|
|
@@ -298,6 +298,102 @@ var PROCESSOR_DEFINITIONS = deepFreeze([
|
|
|
298
298
|
callbackUrls: ["ekashu_success_url", "ekashu_failure_url", "ekashu_return_url"]
|
|
299
299
|
}
|
|
300
300
|
},
|
|
301
|
+
{
|
|
302
|
+
psp: "redsys",
|
|
303
|
+
// Redsys's hosted payment page, the TPV Virtual redirect most Spanish banks give their merchants. The
|
|
304
|
+
// merchant's page posts a signed ENTRY form top-level to sis.redsys.es/sis/realizarPago (or its
|
|
305
|
+
// /utf-8 twin): the amount, the merchant's FUC and terminal, its result URLs and an HMAC-SHA256 over
|
|
306
|
+
// them, and no card. Redsys answers with its own card page under a session of its own (a jsessionid
|
|
307
|
+
// in the page's form action), so a card form rebuilt away from that session has no order to pay
|
|
308
|
+
// (processors/redsys.js). The paused request is therefore the entry, a Document navigation that
|
|
309
|
+
// carries no card: the cardholder's device repeats it over the end-to-end TLS relay, fills the card
|
|
310
|
+
// into the page Redsys returns to it and posts it back in that same session, and the runtime resolves
|
|
311
|
+
// the paused navigation with the hosted_form notice. Only the two entry paths are matched, exactly
|
|
312
|
+
// (processors/redsys.js isRedsysEntryUrl: a query would reach Redsys's servlets as fields): the card
|
|
313
|
+
// post (/sis/pagoTarjeta), the older page's 3-D Secure card lookup and InSite's card post carry a
|
|
314
|
+
// card, and the SDK refuses them in the agent's browser, so no dummy card ever reaches Redsys.
|
|
315
|
+
// Redsys's test platform (sis-t.redsys.es) answers on port 25443 alone, which no recognizer takes,
|
|
316
|
+
// and isRedsysEntryUrl takes only the live host: it is listed so the live host classifies as live and
|
|
317
|
+
// the create refuses a test row there (live_host_on_sandbox_row), since no test row can reach a
|
|
318
|
+
// Redsys test host. Dark: served only to a client that declares the capability, and gated off for
|
|
319
|
+
// every org the operator has not allowlisted.
|
|
320
|
+
capability: "redsys_hosted_payment_page",
|
|
321
|
+
match: "sis\\.redsys\\.es/sis/realizarPago(?:/utf-8)?",
|
|
322
|
+
hosts: ["^sis\\.redsys\\.es$", "^sis-t\\.redsys\\.es$"],
|
|
323
|
+
sandboxHosts: ["^sis-t\\.redsys\\.es$"],
|
|
324
|
+
hostEnvironmentPinned: true,
|
|
325
|
+
encoding: "form",
|
|
326
|
+
passthroughHeaders: [],
|
|
327
|
+
mode: "hosted_form",
|
|
328
|
+
hostedForm: {
|
|
329
|
+
// The card goes into the page Redsys returns to the device, not into the paused entry, which must
|
|
330
|
+
// carry none (processors/redsys.js checkRedsysEntry). The device never posts a form of its own:
|
|
331
|
+
// the Vault's form-action policy leaves this host out.
|
|
332
|
+
cardIn: "processor_page",
|
|
333
|
+
// The entry's own rules (processors/redsys.js checkRedsysEntry), the reviewed merchants among them:
|
|
334
|
+
// the create runs them, and naming them here makes the cardholder's device run them again on the
|
|
335
|
+
// entry it is about to repeat (forms.js hostedFormTemplateRefusal).
|
|
336
|
+
policy: "redsys",
|
|
337
|
+
required: ["Ds_SignatureVersion", "Ds_MerchantParameters", "Ds_Signature"],
|
|
338
|
+
// Redsys's card page's own fields, which the device fills on that page (never in the entry).
|
|
339
|
+
card: { number: "Sis_Numero_Tarjeta", month: "Sis_Caducidad_Tarjeta_Mes", year: "Sis_Caducidad_Tarjeta_Anno", cvc: "Sis_Tarjeta_CVV2" },
|
|
340
|
+
// The FUC, terminal, order, amount and currency inside the signed Ds_MerchantParameters name one
|
|
341
|
+
// payment; the policy reads them there (checkRedsysEntry's dedupe), since no form field holds them.
|
|
342
|
+
dedupe: ["Ds_MerchantParameters"]
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
psp: "quickpay",
|
|
347
|
+
// QuickPay's hosted payment window, where most Danish and Nordic webshops send the buyer (DanDomain,
|
|
348
|
+
// SmartWeb, Shoporama and the WooCommerce, Magento and PrestaShop modules). The merchant's page posts a
|
|
349
|
+
// signed ENTRY form top-level to https://payment.quickpay.net/ (QuickPay's Form API v10): the amount, the
|
|
350
|
+
// merchant and agreement ids, its order id, its continue, cancel and callback URLs and an HMAC-SHA256
|
|
351
|
+
// checksum over them, and no card. QuickPay answers with its window under a session of its own (the
|
|
352
|
+
// window's path, /<32 hex>, and a hidden field of its card form), so a card form rebuilt away from that
|
|
353
|
+
// session has no payment to pay (processors/quickpay.js). The paused request is therefore the entry, a
|
|
354
|
+
// Document navigation that carries no card: the cardholder's device repeats it over the end-to-end TLS
|
|
355
|
+
// relay, fills the card into the window QuickPay returns to it and posts it back in that same session, and
|
|
356
|
+
// the runtime resolves the paused navigation with the hosted_form notice. Only the entry path is matched,
|
|
357
|
+
// exactly (processors/quickpay.js isQuickpayEntryUrl: a query would reach QuickPay's server as fields
|
|
358
|
+
// beside the signed body): the window's card post (/process_card), its fee lookup (/calculate_fee, which
|
|
359
|
+
// carries the card number) and its wallet token post carry a card, and the SDK refuses them in the agent's
|
|
360
|
+
// browser, so no dummy card ever reaches QuickPay. QuickPay has no test host: a test payment runs on this
|
|
361
|
+
// host with QuickPay's own test card numbers, so the host marks no environment. Dark: served only to a
|
|
362
|
+
// client that declares the capability, and gated off for every org the operator has not allowlisted.
|
|
363
|
+
capability: "quickpay_hosted_payment_page",
|
|
364
|
+
match: "payment\\.quickpay\\.net/",
|
|
365
|
+
hosts: ["^payment\\.quickpay\\.net$"],
|
|
366
|
+
encoding: "form",
|
|
367
|
+
passthroughHeaders: [],
|
|
368
|
+
mode: "hosted_form",
|
|
369
|
+
hostedForm: {
|
|
370
|
+
// The card goes into the window QuickPay returns to the device, not into the paused entry, which must
|
|
371
|
+
// carry none (processors/quickpay.js checkQuickpayEntry). The device never posts a form of its own: the
|
|
372
|
+
// Vault's form-action policy leaves this host out.
|
|
373
|
+
cardIn: "processor_page",
|
|
374
|
+
// The entry's own rules (processors/quickpay.js checkQuickpayEntry), the reviewed merchants among them:
|
|
375
|
+
// the create runs them, and naming them here makes the cardholder's device run them again on the entry
|
|
376
|
+
// it is about to repeat (forms.js hostedFormTemplateRefusal).
|
|
377
|
+
policy: "quickpay",
|
|
378
|
+
required: [
|
|
379
|
+
"version",
|
|
380
|
+
"merchant_id",
|
|
381
|
+
"agreement_id",
|
|
382
|
+
"order_id",
|
|
383
|
+
"amount",
|
|
384
|
+
"currency",
|
|
385
|
+
"continueurl",
|
|
386
|
+
"cancelurl",
|
|
387
|
+
"callbackurl",
|
|
388
|
+
"checksum"
|
|
389
|
+
],
|
|
390
|
+
// The window's own card fields, which the device fills in the window (never in the entry).
|
|
391
|
+
card: { number: "cardnumber", month: "expiration[month]", year: "expiration[year]", cvc: "cvd" },
|
|
392
|
+
// The merchant, its agreement, its order and the amount name one payment, as QuickPay keys one payment
|
|
393
|
+
// per merchant on its order id.
|
|
394
|
+
dedupe: ["merchant_id", "agreement_id", "order_id", "amount", "currency"]
|
|
395
|
+
}
|
|
396
|
+
},
|
|
301
397
|
// ── Verified tokenizers (plaintext PAN in the body) ───────────────────────
|
|
302
398
|
// Each entry below was checked against the PSP's own shipped browser SDK or a
|
|
303
399
|
// live probe, then run through resolveRecognizerForUrl with positive, sibling
|
|
@@ -1144,7 +1240,8 @@ var PROCESSOR_DEFINITIONS = deepFreeze([
|
|
|
1144
1240
|
// decides, and neither the request nor the page names it), so the S7 host rule has no test-only
|
|
1145
1241
|
// host to pin, and the device's test-card rule cannot tell a test payment from a live one here.
|
|
1146
1242
|
// A live row can therefore send a real card to a payment page created on a public test terminal,
|
|
1147
|
-
// whose transactions anyone holding Pelecard's published demo credentials can read back.
|
|
1243
|
+
// whose transactions anyone holding Pelecard's published demo credentials can read back. Agentcard
|
|
1244
|
+
// accepted that on 2026-10-11 (pelecard.js header); a test row sends only a documented test card.
|
|
1148
1245
|
// Ships dark: served only to a client that declares `pelecard_transaction`, gated off for every org
|
|
1149
1246
|
// until an operator allowlists one, and never replayed by autopilot (EXCLUDED_OPERATIONS).
|
|
1150
1247
|
capability: "pelecard_transaction",
|
|
@@ -1205,14 +1302,20 @@ var PROCESSOR_DEFINITIONS = deepFreeze([
|
|
|
1205
1302
|
// (SeboCalm). Its Angular transaction service posts the card to /services/v1/txn/<txId>/process as
|
|
1206
1303
|
// same-origin JSON, no auth header, no cookie: the txId is the only credential and the submit is the
|
|
1207
1304
|
// sale itself. PAN@ root `cardNumber` (expMonth MM, expYear YY, cvv, personalId) in plaintext, or one
|
|
1208
|
-
// js-jose JWE in root `jwePayload` when the transaction carries a jwePublicKey (creditguard.js
|
|
1209
|
-
// that variant
|
|
1210
|
-
// 2026-09-25. /card/details, /card/details/dcc, /cc/ddc/init, /cg3ds/*, /otp/request
|
|
1211
|
-
// /applepay|paybox|pcp/process share the prefix, carry the agent's placeholder or no card, and
|
|
1212
|
-
// out at the exact path; (?![\w/-]) is the right edge for the SDK's unanchored test. pps2 is a
|
|
1305
|
+
// js-jose JWE in root `jwePayload` when the transaction carries a jwePublicKey (creditguard.js admits
|
|
1306
|
+
// that variant only where a caller passes its flag). Sources: templates/cgt-basic/main.js on pps and
|
|
1307
|
+
// ppsuat, reviewed 2026-09-25. /card/details, /card/details/dcc, /cc/ddc/init, /cg3ds/*, /otp/request
|
|
1308
|
+
// and /applepay|paybox|pcp/process share the prefix, carry the agent's placeholder or no card, and
|
|
1309
|
+
// fall out at the exact path; (?![\w/-]) is the right edge for the SDK's unanchored test. pps2 is a
|
|
1213
1310
|
// production host (cg-safecharge-3ds envConfig: pps, pps2, cgmpi = prod). The legacy MPI page
|
|
1214
1311
|
// (cgmpi.creditguard.co.il), pps-dev, ppsqa, pps-qa1 and cguat2 are deliberately absent.
|
|
1215
1312
|
// creditguard.js judges the whole request before a card is written and fills only the card fields.
|
|
1313
|
+
// - deviceSteps: on a 3-D Secure transaction through Cardinal, the three calls the cardholder's
|
|
1314
|
+
// device sends with the real card before the submit, on the paused submit's own host and
|
|
1315
|
+
// transaction (creditguard.js creditguardDeviceStepUrl, which the transport checks with
|
|
1316
|
+
// request-policy.js assertAllowedDeviceStep). The SDK answers the page's own copies of them
|
|
1317
|
+
// with the placeholder, so those never leave the agent's browser. Definitions-only: the served
|
|
1318
|
+
// row does not carry them.
|
|
1216
1319
|
// Ships dark: served only to a client that declares `creditguard_pps_process`, gated off for every
|
|
1217
1320
|
// org until an operator allowlists one, never replayed by autopilot (EXCLUDED_OPERATIONS).
|
|
1218
1321
|
capability: "creditguard_pps_process",
|
|
@@ -1230,7 +1333,12 @@ var PROCESSOR_DEFINITIONS = deepFreeze([
|
|
|
1230
1333
|
passthroughHeaders: [],
|
|
1231
1334
|
// A /process body without either (Google Pay, a saved cardId, a js-jose object fallback) is not a
|
|
1232
1335
|
// new card, and with no passWithoutCard it is refused instead of paused.
|
|
1233
|
-
jsonCardFields: [["cardNumber"], ["jwePayload"]]
|
|
1336
|
+
jsonCardFields: [["cardNumber"], ["jwePayload"]],
|
|
1337
|
+
deviceSteps: {
|
|
1338
|
+
ddc_init: "(?:pps|pps2|ppsuat)\\.creditguard\\.co\\.il/services/v1/txn/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/cc/ddc/init",
|
|
1339
|
+
threeds_init: "(?:pps|pps2|ppsuat)\\.creditguard\\.co\\.il/services/v1/txn/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/cg3ds/process/init",
|
|
1340
|
+
threeds_outcome: "(?:pps|pps2|ppsuat)\\.creditguard\\.co\\.il/services/v1/txn/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/cg3ds/process/outcome"
|
|
1341
|
+
}
|
|
1234
1342
|
},
|
|
1235
1343
|
{
|
|
1236
1344
|
psp: "payrails",
|
|
@@ -1458,6 +1566,125 @@ var PROCESSOR_DEFINITIONS = deepFreeze([
|
|
|
1458
1566
|
preparationRequired: true,
|
|
1459
1567
|
encoding: "json",
|
|
1460
1568
|
passthroughHeaders: ["^authorization$"]
|
|
1569
|
+
},
|
|
1570
|
+
{
|
|
1571
|
+
psp: "payfast",
|
|
1572
|
+
// Payfast by Network's hosted payment page (South Africa), which every Payfast Pay Now button,
|
|
1573
|
+
// payment link, plugin redirect and Onsite modal opens at payment.payfast.io/eng/process/payment/<uuid>
|
|
1574
|
+
// (www.payfast.co.za serves the same uuid and routes). The card tab posts the card with one jQuery
|
|
1575
|
+
// XHR to /eng/method/CreditCard/<uuid>/pay on the page's own host, form encoded, no encryption:
|
|
1576
|
+
// card_number, cvv, expiry_month and expiry_year beside the name, the consent box and the
|
|
1577
|
+
// page's reCAPTCHA fields. The request names no amount: the merchant's entry bound it to the uuid,
|
|
1578
|
+
// so the agent's amount is the price the cardholder approves. payfast.js holds the rule the pause
|
|
1579
|
+
// decision reads: the exact URL, and the card tab's body byte for byte, with a saved card (cc_key)
|
|
1580
|
+
// and a pay that stores the card (consent_check 1) refused. The route answers no browser origin,
|
|
1581
|
+
// so the card leaves only through the checkout relay. 3-D Secure, the currency switch and the
|
|
1582
|
+
// other methods carry no card and use other paths, which `match` leaves out.
|
|
1583
|
+
// Ships dark: served only to a client that declares `payfast_card_pay`, gated off for every org
|
|
1584
|
+
// until an operator lists one (`payfast:<org>`), and autopilot never sends this request
|
|
1585
|
+
// (autopilot.js DEVICE_REPLAY_REFUSED_OPERATIONS). The environment is pinned (S7):
|
|
1586
|
+
// sandbox.payfast.co.za only on test rows and only with documented test cards.
|
|
1587
|
+
capability: "payfast_card_pay",
|
|
1588
|
+
match: "(?:payment\\.payfast\\.io|www\\.payfast\\.co\\.za|sandbox\\.payfast\\.co\\.za)/eng/method/CreditCard/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/pay",
|
|
1589
|
+
hosts: ["^payment\\.payfast\\.io$", "^www\\.payfast\\.co\\.za$", "^sandbox\\.payfast\\.co\\.za$"],
|
|
1590
|
+
sandboxHosts: ["^sandbox\\.payfast\\.co\\.za$"],
|
|
1591
|
+
hostEnvironmentPinned: true,
|
|
1592
|
+
encoding: "form",
|
|
1593
|
+
// jQuery's same-origin marker and its JSON Accept: with them Payfast answers its JSON, a refusal
|
|
1594
|
+
// included. The CSRF header, Origin, Referer and cookies never ride.
|
|
1595
|
+
passthroughHeaders: ["^x-requested-with$", "^accept$"],
|
|
1596
|
+
cardFields: ["card_number"]
|
|
1597
|
+
},
|
|
1598
|
+
{
|
|
1599
|
+
psp: "paddle_tokenex",
|
|
1600
|
+
// Paddle's checkout frame (buy.paddle.com) on a checkout whose card method names TokenEx as its
|
|
1601
|
+
// tokenizer: the frame RSA-encrypts the number and the CVV itself (JSEncrypt, RSAES-PKCS1-v1_5,
|
|
1602
|
+
// base64) under the account-level TokenEx public key the checkout serves, and carries both inside
|
|
1603
|
+
// its own pay call, so /pay IS the card request. One JSON POST to /pay on checkout-service.paddle.com
|
|
1604
|
+
// (sandbox-checkout-service.paddle.com in test), Classic at /checkout/<id>/pay ("CARD") and Billing at
|
|
1605
|
+
// /transaction-checkout/<che_...>/pay ("card"). The card sits at
|
|
1606
|
+
// data.payment_method_data.card.tokenex_card.{encrypted_card_number, encrypted_cvv}, beside metadata
|
|
1607
|
+
// the frame read from the typed card. paddle-tokenex.js holds the request rule the pause decision, the
|
|
1608
|
+
// API's create, the device and the substitution read: the exact /pay URL, the frame's body shape, and
|
|
1609
|
+
// the two ciphertexts under the key pinned per environment (paddle-keys.js). cse mode, as GMO and
|
|
1610
|
+
// Shiji STS ship: the cardholder's device re-encrypts the real card under the pin and the runtime
|
|
1611
|
+
// swaps the two ciphertexts and the five metadata facts into the paused /pay (substitutePaddleTokenex),
|
|
1612
|
+
// and the agent's page continues the /pay (production checkout-service refuses a cross-origin /pay from
|
|
1613
|
+
// the Vault's own origin, so the device cannot send it). A /pay that names no tokenex_card (PayPal, a
|
|
1614
|
+
// wallet, a saved card, a VGS or Spreedly token pay) carries none of the cardholder's cards and
|
|
1615
|
+
// continues untouched (passWithoutCard, read by card-fields.js paddleTokenexBodyVerdict).
|
|
1616
|
+
// Ships dark: served only to a client that declares `paddle_tokenex_pay`, gated off for every org
|
|
1617
|
+
// until an operator lists one (`paddle_tokenex:<org>`), and autopilot never sends this request
|
|
1618
|
+
// (autopilot.js DEVICE_REPLAY_REFUSED_OPERATIONS). The environment is pinned (S7): sandbox-checkout-
|
|
1619
|
+
// service only on test rows and only with documented test cards, checkout-service only on live rows.
|
|
1620
|
+
capability: "paddle_tokenex_pay",
|
|
1621
|
+
match: "(?:sandbox-)?checkout-service\\.paddle\\.com/(?:checkout|transaction-checkout)/[A-Za-z0-9_-]{1,64}/pay(?![\\w/.-])",
|
|
1622
|
+
hosts: ["^checkout-service\\.paddle\\.com$", "^sandbox-checkout-service\\.paddle\\.com$"],
|
|
1623
|
+
sandboxHosts: ["^sandbox-checkout-service\\.paddle\\.com$"],
|
|
1624
|
+
hostEnvironmentPinned: true,
|
|
1625
|
+
encoding: "json",
|
|
1626
|
+
passthroughHeaders: [],
|
|
1627
|
+
// The card the device fills sits here; card-fields.js reads the whole /pay through paddleTokenexBodyVerdict
|
|
1628
|
+
// (a tokenex_card /pay is a card request, a /pay without it continues), and this path keeps the catalog's
|
|
1629
|
+
// "passWithoutCard beside a card field" invariant and tells a cardFields-aware client which member is the card.
|
|
1630
|
+
jsonCardFields: [["data", "payment_method_data", "card", "tokenex_card", "encrypted_card_number"]],
|
|
1631
|
+
passWithoutCard: "(?:sandbox-)?checkout-service\\.paddle\\.com/(?:checkout|transaction-checkout)/[A-Za-z0-9_-]{1,64}/pay",
|
|
1632
|
+
// The two ciphertexts, by role, so the client table carries the same encrypted-field set the approve
|
|
1633
|
+
// leg accepts (vault-allowlist-drift). The generic Adyen substitution refuses these, as it does Shiji's,
|
|
1634
|
+
// because they are RSA base64, not a JWE: only substitutePaddleTokenex writes this body, dispatched by psp.
|
|
1635
|
+
encryptedCardFields: { number: "encrypted_card_number", cvc: "encrypted_cvv" },
|
|
1636
|
+
clientSideEncrypted: true,
|
|
1637
|
+
mode: "cse",
|
|
1638
|
+
cse: { scheme: "rsa-pkcs1v15", at: "data.payment_method_data.card.tokenex_card", fields: ["encrypted_card_number", "encrypted_cvv"] }
|
|
1639
|
+
},
|
|
1640
|
+
{
|
|
1641
|
+
psp: "lyra",
|
|
1642
|
+
// Lyra's Krypton embedded form (PayZen, Systempay, Sogecommerce, Lyra Collect): the hidden checkout
|
|
1643
|
+
// frame on static.<brand> posts the card as JSON (Content-Type text/plain) to ProcessPayment/2 on the
|
|
1644
|
+
// brand's API host, with the form token's session id as a `;jsessionid=` path parameter. PAN@
|
|
1645
|
+
// paymentForm.pan, expiry MM @ .expiryMonth and YYYY @ .expiryYear, code @ .securityCode. lyra.js
|
|
1646
|
+
// holds the one body rule: the frame's card body under a form token that pays once is a card
|
|
1647
|
+
// request; the same URL's card-free 3-D Secure follow-up (instructionResult) continues untouched
|
|
1648
|
+
// (passWithoutCard); everything else is refused before any approval. TEST and PRODUCTION share these
|
|
1649
|
+
// hosts, so the key and the token name the environment, never the host (no sandbox marker). Lyra's API
|
|
1650
|
+
// refuses a POST that names none of its own static origins, so the card can leave the cardholder's
|
|
1651
|
+
// device only through the checkout relay. Ships dark: served only to a client that declares
|
|
1652
|
+
// `lyra_krypton_payment`, gated off for every org until an operator lists `lyra:<org>`, and autopilot
|
|
1653
|
+
// never sends it (autopilot.js DEVICE_REPLAY_REFUSED_OPERATIONS). `(?![\w/;.%-])` ends the path for a
|
|
1654
|
+
// consumer that tests `match` unanchored. Not here: Lyra's hosted payment page (vads-payment), and its
|
|
1655
|
+
// other brands' hosts (Scellius, Clic&Pay, Mi Cuenta Web and the rest of the bundle's table).
|
|
1656
|
+
capability: "lyra_krypton_payment",
|
|
1657
|
+
match: "api(?:\\.payzen\\.eu|\\.systempay\\.fr|-sogecommerce\\.societegenerale\\.eu|\\.lyra\\.com)/api-payment/V4/Charge/Public/ProcessPayment/2(?:;jsessionid=[A-Za-z0-9._-]{1,128})?(?![\\w/;.%-])",
|
|
1658
|
+
hosts: ["^api\\.payzen\\.eu$", "^api\\.systempay\\.fr$", "^api-sogecommerce\\.societegenerale\\.eu$", "^api\\.lyra\\.com$"],
|
|
1659
|
+
encoding: "json",
|
|
1660
|
+
passthroughHeaders: [],
|
|
1661
|
+
jsonCardFields: [["paymentForm", "pan"]],
|
|
1662
|
+
passWithoutCard: "api(?:\\.payzen\\.eu|\\.systempay\\.fr|-sogecommerce\\.societegenerale\\.eu|\\.lyra\\.com)/api-payment/V4/Charge/Public/ProcessPayment/2(?:;jsessionid=[A-Za-z0-9._-]{1,128})?"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
psp: "wix_payments",
|
|
1666
|
+
// Wix Cashier's card frame (cashier-pci.wixapps.net/card-form), which every Wix checkout mounts: for
|
|
1667
|
+
// Wix Payments and classic Stripe on Wix it posts the card as one JSON body to Wix's own tokenizer,
|
|
1668
|
+
// under the site's signed app instance. PAN@ creditCard.number, CVV@ cvv at the root, the expiry as
|
|
1669
|
+
// creditCard.expiration.month and .year (numbers, the year in four digits). wix-payments.js holds the
|
|
1670
|
+
// request rule the pause decision, the API's create, the prepared bind and the device all read: exactly
|
|
1671
|
+
// this URL (never /v2/credit-cards, which saves a card, or a saved card's token URL), a JSON
|
|
1672
|
+
// Content-Type, the instance, and the frame's body byte for byte. Wix's payment widget fails the
|
|
1673
|
+
// payment 30 seconds after it asks the frame for a token, so the lane is prepared only
|
|
1674
|
+
// (preparationRequired): the cardholder approves before the agent clicks Pay. The tokenizer answers no
|
|
1675
|
+
// browser origin, so the card leaves the cardholder's device only through the checkout relay. Wix's
|
|
1676
|
+
// other headers ride beside the instance, as the frame sends them. No sandbox host: a Wix site in test
|
|
1677
|
+
// mode answers inside the frame with a fake token and sends nothing, so the lane takes production only,
|
|
1678
|
+
// and the API refuses a test-mode client before any row (wix-payments.js wixPaymentsMerchantRefusal).
|
|
1679
|
+
// Ships dark: served only to a client that declares `wix_payments_tokenize`, gated off for every org
|
|
1680
|
+
// until an operator lists one (`wix_payments:<org>`), and autopilot never sends this request
|
|
1681
|
+
// (autopilot.js DEVICE_REPLAY_REFUSED_OPERATIONS).
|
|
1682
|
+
capability: "wix_payments_tokenize",
|
|
1683
|
+
match: "cashier-pci\\.wixapps\\.net/_api/payment-gateway-web/tokenize/v2/tokens",
|
|
1684
|
+
hosts: ["^cashier-pci\\.wixapps\\.net$"],
|
|
1685
|
+
preparationRequired: true,
|
|
1686
|
+
encoding: "json",
|
|
1687
|
+
passthroughHeaders: ["^authorization$", "^x-wix-client-artifact-id$", "^commonconfig$", "^x-wix-brand$", "^consent-policy$", "^x-wix-linguist$"]
|
|
1461
1688
|
}
|
|
1462
1689
|
]);
|
|
1463
1690
|
var PSP_RECOGNIZERS = deepFreeze(PROCESSOR_DEFINITIONS.map(({ compose, encryptedCardFields, deviceSteps, deviceEncrypt, ...definition }) => definition));
|
|
@@ -1511,9 +1738,13 @@ var DATATRANS_HOSTS = Object.freeze(["pay.datatrans.com", "pay.sandbox.datatrans
|
|
|
1511
1738
|
var DATATRANS_REFUSAL_REASONS = Object.freeze(["unsupported", "card_on_file", "brand_mismatch", "unregistered_merchant"]);
|
|
1512
1739
|
var DATATRANS_REGISTRATION_POLICIES = Object.freeze(["refuse", "disclose", "agentcard_single_use"]);
|
|
1513
1740
|
var DATATRANS_REVIEWED_MERCHANT_IDS = Object.freeze({
|
|
1514
|
-
"pay.datatrans.com": Object.freeze([]),
|
|
1741
|
+
"pay.datatrans.com": Object.freeze(["3000022877"]),
|
|
1515
1742
|
"pay.sandbox.datatrans.com": Object.freeze(["1110022968", "1100007006"])
|
|
1516
1743
|
});
|
|
1744
|
+
var DATATRANS_MERCHANT_ACCOUNT_NAMES = Object.freeze({
|
|
1745
|
+
"pay.datatrans.com": Object.freeze({ "3000022877": "RaiseNow" }),
|
|
1746
|
+
"pay.sandbox.datatrans.com": Object.freeze({})
|
|
1747
|
+
});
|
|
1517
1748
|
var DATATRANS_PAYMENT_METHODS = Object.freeze(["VIS", "ECA", "AMX", "DIN", "DIS", "JCB", "CUP", "MAU", "UAP", "DNK"]);
|
|
1518
1749
|
var DATATRANS_TEST_PANS = Object.freeze([
|
|
1519
1750
|
"4242424242424242",
|
|
@@ -1571,6 +1802,53 @@ var PADDLE_VGS_MERCHANT_PINS = /* @__PURE__ */ Object.freeze([
|
|
|
1571
1802
|
]);
|
|
1572
1803
|
var FACT_KEYS = /* @__PURE__ */ Object.freeze(["card_first_six", "card_last_four", "expiry_month", "expiry_year", "card_brand"]);
|
|
1573
1804
|
var METADATA_KEYS = /* @__PURE__ */ Object.freeze(["cardholder_name", ...FACT_KEYS]);
|
|
1805
|
+
// src/payfast.js
|
|
1806
|
+
var PAYFAST_PAY_HOSTS = /* @__PURE__ */ Object.freeze({
|
|
1807
|
+
production: Object.freeze(["payment.payfast.io", "www.payfast.co.za"]),
|
|
1808
|
+
sandbox: Object.freeze(["sandbox.payfast.co.za"])
|
|
1809
|
+
});
|
|
1810
|
+
// src/rsa-pkcs1v15.js
|
|
1811
|
+
var TYPED_ARRAY = Object.getPrototypeOf(Uint8Array.prototype);
|
|
1812
|
+
var typedArrayName = Object.getOwnPropertyDescriptor(TYPED_ARRAY, Symbol.toStringTag).get;
|
|
1813
|
+
// src/paddle-keys.js
|
|
1814
|
+
var PADDLE_TOKENEX_KEYS = /* @__PURE__ */ Object.freeze({
|
|
1815
|
+
sandbox: Object.freeze({
|
|
1816
|
+
spki: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvWpIQFjQQCPpaIlJKpegirp5kLkzLB1AxHmnLk73D3TJbAGqr1QmlsWDBtMPMRpdzzUM7ZwX3kzhIuATV4Pe7RKp3nZlVmcrT0YCQXBrTwqZNh775z58GP2kZs+gVfNqBampJPzSB/hB62KkByhECn6grrRjiAVwJyZVEvs/2vrxaEpO+aE16emtX12RgI5JdzdOiNyZEQteU6zRBRJEocPWVxExaOpVVVJ5+UnW0LcalzA+lRGRTrQJ5JguAPiAOzRPTK/lYFFpCAl/F8wtoAVG1c8zO2NcQ0Pko+fmeidRFxJ/did2btV+9Mkze3mBphwFmvnxa35LF+Cs/XJHDwIDAQAB",
|
|
1817
|
+
sha256: "877d29a008ed9998d6035032870c63dcc4cbf37ca22cb50b0cc9fe2250a9e3dc"
|
|
1818
|
+
}),
|
|
1819
|
+
production: Object.freeze({
|
|
1820
|
+
spki: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8gGPMwBRPuVyJReZGIkWH/+Bf5pnpDN1bSR2cLYLXVT8CaSnTw74qeboSnktgYCi1D9R3Bj2fYzTIwGGZb8KinLdxwbqZmHwrE9cFhCaHbG/E0PbqQGhXP2vbniZTT4M0i0Cbi7ES3Bw5zqNbIZZnX041QEpxLvIyWPKZCX+fBogNMhWfCF779aclChjHkwZMsufThVWE9xklWGxXiytx5aL4I5JPxq0I7cAkZGGs4aF/GxWwPaq7R3wPikJQ0YHnCMfcURzl2Hnw/inqyMy+JB6djTq2/BdzMAhWTh3cDWq9Xu+gEkb/QCd0n1yYIdKuDISlk/AfHdWe34IvzhVyQIDAQAB",
|
|
1821
|
+
sha256: "92529bd289bb24d52a1bdcc42edc9ac0bb1dacbb58f7568573d44771e1287762"
|
|
1822
|
+
})
|
|
1823
|
+
});
|
|
1824
|
+
// src/paddle-tokenex.js
|
|
1825
|
+
var PADDLE_TOKENEX_FACT_KEYS = /* @__PURE__ */ Object.freeze(["card_first_six", "card_last_four", "expiry_month", "expiry_year", "card_brand"]);
|
|
1826
|
+
var METADATA_KEYS2 = /* @__PURE__ */ Object.freeze(["cardholder_name", ...PADDLE_TOKENEX_FACT_KEYS]);
|
|
1827
|
+
var CARD_PATH = /* @__PURE__ */ Object.freeze(["data", "payment_method_data", "card"]);
|
|
1828
|
+
var TOKENEX_PATH = /* @__PURE__ */ Object.freeze([...CARD_PATH, "tokenex_card"]);
|
|
1829
|
+
// src/lyra.js
|
|
1830
|
+
var LYRA_HOSTS = /* @__PURE__ */ Object.freeze({
|
|
1831
|
+
"api.payzen.eu": Object.freeze({ staticOrigin: "https://static.payzen.eu", prefixes: Object.freeze(["01", "02"]) }),
|
|
1832
|
+
"api.systempay.fr": Object.freeze({ staticOrigin: "https://static.systempay.fr", prefixes: Object.freeze(["24", "25"]) }),
|
|
1833
|
+
"api-sogecommerce.societegenerale.eu": Object.freeze({ staticOrigin: "https://static-sogecommerce.societegenerale.eu", prefixes: Object.freeze(["06", "07"]) }),
|
|
1834
|
+
"api.lyra.com": Object.freeze({ staticOrigin: "https://static.lyra.com", prefixes: Object.freeze(["10", "11"]) })
|
|
1835
|
+
});
|
|
1836
|
+
var LYRA_MERCHANT_PINS = /* @__PURE__ */ Object.freeze([
|
|
1837
|
+
Object.freeze({
|
|
1838
|
+
id: "le_mas_lyon",
|
|
1839
|
+
merchant: "Association Le MAS",
|
|
1840
|
+
origins: Object.freeze(["https://www.mas-asso.fr"]),
|
|
1841
|
+
shopIds: Object.freeze(["95120524"]),
|
|
1842
|
+
hosts: Object.freeze(["api.systempay.fr"])
|
|
1843
|
+
})
|
|
1844
|
+
]);
|
|
1845
|
+
// src/wix-payments.js
|
|
1846
|
+
var pin3 = (fields) => Object.freeze({ ...fields, origins: Object.freeze([...fields.origins]) });
|
|
1847
|
+
var WIX_PAYMENTS_MERCHANT_PINS = /* @__PURE__ */ Object.freeze([
|
|
1848
|
+
pin3({ id: "parahouse_magazine", merchant: "ParaHouse Magazine", origins: ["https://www.parahousemagazine.com"] }),
|
|
1849
|
+
pin3({ id: "psalms_and_potions", merchant: "Psalms & Potions", origins: ["https://www.psalmsandpotions.com"] }),
|
|
1850
|
+
pin3({ id: "alexandra_hagel", merchant: "Alexandra Hagel, LLC", origins: ["https://www.alexandrahagel.com"] })
|
|
1851
|
+
]);
|
|
1574
1852
|
// src/cybersource-secure-acceptance.js
|
|
1575
1853
|
var SA_BODY_LIMIT = 32 * 1024;
|
|
1576
1854
|
var SA_REPLY_LIMIT = 64 * 1024;
|
|
@@ -1639,6 +1917,213 @@ var DECLINE_LABELS = Object.freeze(["label_error_payment", "label_error_bin", "l
|
|
|
1639
1917
|
var EXPIRED_LABELS = Object.freeze(["session_timeout", "ppid_expired"]);
|
|
1640
1918
|
var REF_KEYS = Object.freeze(["recloc", "orderId", "mopId", "pri", "approvalcode", "externalId", "paymentMerchantReference", "prr"]);
|
|
1641
1919
|
var PAYMENT_INFORMATION_KEYS = Object.freeze(["approvalcode", "pri", "externalId", "mopId"]);
|
|
1920
|
+
// src/processors/ekashu.js
|
|
1921
|
+
var EKASHU_HOSTS = Object.freeze(["live.ekashu.com", "test.ekashu.com"]);
|
|
1922
|
+
var EKASHU_TEST_PANS = Object.freeze(["4100000000000100", "5100000000000107"]);
|
|
1923
|
+
var EKASHU_SIGNED_FIELDS = Object.freeze([
|
|
1924
|
+
"ekashu_3d_secure_verify",
|
|
1925
|
+
"ekashu_amount",
|
|
1926
|
+
"ekashu_amount_format",
|
|
1927
|
+
"ekashu_auto_confirm",
|
|
1928
|
+
"ekashu_callback_failure_url",
|
|
1929
|
+
"ekashu_callback_include_post",
|
|
1930
|
+
"ekashu_callback_success_url",
|
|
1931
|
+
"ekashu_card_address_editable",
|
|
1932
|
+
"ekashu_card_address_required",
|
|
1933
|
+
"ekashu_card_address_verify",
|
|
1934
|
+
"ekashu_card_email_address_mandatory",
|
|
1935
|
+
"ekashu_card_phone_number_mandatory",
|
|
1936
|
+
"ekashu_card_title_mandatory",
|
|
1937
|
+
"ekashu_card_zip_code_verify",
|
|
1938
|
+
"ekashu_currency",
|
|
1939
|
+
"ekashu_delivery_address_editable",
|
|
1940
|
+
"ekashu_delivery_address_required",
|
|
1941
|
+
"ekashu_delivery_email_address_mandatory",
|
|
1942
|
+
"ekashu_delivery_phone_number_mandatory",
|
|
1943
|
+
"ekashu_delivery_title_mandatory",
|
|
1944
|
+
"ekashu_description",
|
|
1945
|
+
"ekashu_device",
|
|
1946
|
+
"ekashu_duplicate_check",
|
|
1947
|
+
"ekashu_duplicate_minutes",
|
|
1948
|
+
"ekashu_failure_return_text",
|
|
1949
|
+
"ekashu_failure_url",
|
|
1950
|
+
"ekashu_hash_code_format",
|
|
1951
|
+
"ekashu_hash_code_type",
|
|
1952
|
+
"ekashu_hash_code_version",
|
|
1953
|
+
"ekashu_include_post",
|
|
1954
|
+
"ekashu_invoice_address_editable",
|
|
1955
|
+
"ekashu_invoice_address_required",
|
|
1956
|
+
"ekashu_invoice_email_address_mandatory",
|
|
1957
|
+
"ekashu_invoice_phone_number_mandatory",
|
|
1958
|
+
"ekashu_invoice_title_mandatory",
|
|
1959
|
+
"ekashu_locale",
|
|
1960
|
+
"ekashu_payment_methods",
|
|
1961
|
+
"ekashu_reference",
|
|
1962
|
+
"ekashu_request_type",
|
|
1963
|
+
"ekashu_return_text",
|
|
1964
|
+
"ekashu_seller_address",
|
|
1965
|
+
"ekashu_seller_email_address",
|
|
1966
|
+
"ekashu_seller_id",
|
|
1967
|
+
"ekashu_seller_key",
|
|
1968
|
+
"ekashu_seller_name",
|
|
1969
|
+
"ekashu_shortcut_icon",
|
|
1970
|
+
"ekashu_style_sheet",
|
|
1971
|
+
"ekashu_success_url",
|
|
1972
|
+
"ekashu_title",
|
|
1973
|
+
"ekashu_verification_value_mask",
|
|
1974
|
+
"ekashu_verification_value_verify",
|
|
1975
|
+
"ekashu_viewport"
|
|
1976
|
+
]);
|
|
1977
|
+
var REQUIRED = Object.freeze([
|
|
1978
|
+
"ekashu_seller_id",
|
|
1979
|
+
"ekashu_seller_key",
|
|
1980
|
+
"ekashu_amount",
|
|
1981
|
+
"ekashu_currency",
|
|
1982
|
+
"ekashu_reference",
|
|
1983
|
+
"ekashu_hash_code",
|
|
1984
|
+
"ekashu_hash_code_type",
|
|
1985
|
+
"ekashu_hash_code_version",
|
|
1986
|
+
"ekashu_success_url",
|
|
1987
|
+
"ekashu_failure_url",
|
|
1988
|
+
"ekashu_callback_success_url"
|
|
1989
|
+
]);
|
|
1990
|
+
var CARD_KEYS = Object.freeze([
|
|
1991
|
+
"ekashu_card_number",
|
|
1992
|
+
"ekashu_expires_end_month",
|
|
1993
|
+
"ekashu_expires_end_year",
|
|
1994
|
+
"ekashu_verification_value",
|
|
1995
|
+
"ekashu_valid_from_month",
|
|
1996
|
+
"ekashu_valid_from_year",
|
|
1997
|
+
"ekashu_issue_number"
|
|
1998
|
+
]);
|
|
1999
|
+
var PAGE_KEYS = Object.freeze(["ekashu_stage", "ekashu_context", "ekashu_submission_id"]);
|
|
2000
|
+
var STORED_KEYS = Object.freeze(["ekashu_card_hash", "ekashu_card_reference", "ekashu_cof_initiated_by", "ekashu_cof_reason", "ekashu_cof_id"]);
|
|
2001
|
+
var REDIRECT_KEYS = Object.freeze(["ekashu_success_url", "ekashu_failure_url", "ekashu_return_url"]);
|
|
2002
|
+
var CALLBACK_KEYS = Object.freeze(["ekashu_callback_success_url", "ekashu_callback_failure_url"]);
|
|
2003
|
+
var MAX_ENTRY = 16 * 1024;
|
|
2004
|
+
var MAX_PAGE = 256 * 1024;
|
|
2005
|
+
var EKASHU_SELLERS = Object.freeze([
|
|
2006
|
+
Object.freeze({ sellerId: "25060100", merchant: "Heathrow Drop-off", entryHost: "heathrowdropoff.apcoa.com", callbackHost: "incomingapi.apcoa.co.uk" })
|
|
2007
|
+
]);
|
|
2008
|
+
var CARD_FIELDS = Object.freeze({
|
|
2009
|
+
number: "ekashu_card_number",
|
|
2010
|
+
month: "ekashu_expires_end_month",
|
|
2011
|
+
year: "ekashu_expires_end_year",
|
|
2012
|
+
cvc: "ekashu_verification_value"
|
|
2013
|
+
});
|
|
2014
|
+
var NAME_FIELDS = Object.freeze({ first: "ekashu_card_first_name", last: "ekashu_card_last_name" });
|
|
2015
|
+
var LEFT_EMPTY = Object.freeze(["ekashu_card_title", "ekashu_valid_from_month", "ekashu_valid_from_year", "ekashu_issue_number"]);
|
|
2016
|
+
var VISIBLE = /* @__PURE__ */ new Set([...Object.values(CARD_FIELDS), ...Object.values(NAME_FIELDS), ...LEFT_EMPTY]);
|
|
2017
|
+
// src/processors/redsys.js
|
|
2018
|
+
var REDSYS_HOSTS = Object.freeze(["sis.redsys.es"]);
|
|
2019
|
+
var REDSYS_ENTRY_PATHS = Object.freeze(["/sis/realizarPago", "/sis/realizarPago/utf-8"]);
|
|
2020
|
+
var REDSYS_MERCHANTS = Object.freeze([]);
|
|
2021
|
+
var MAX_ENTRY2 = 16 * 1024;
|
|
2022
|
+
var MAX_PARAMETERS = 8 * 1024;
|
|
2023
|
+
var ENTRY_KEYS = Object.freeze(["Ds_SignatureVersion", "Ds_MerchantParameters", "Ds_Signature"]);
|
|
2024
|
+
var REQUIRED2 = Object.freeze([
|
|
2025
|
+
"DS_MERCHANT_AMOUNT",
|
|
2026
|
+
"DS_MERCHANT_CURRENCY",
|
|
2027
|
+
"DS_MERCHANT_MERCHANTCODE",
|
|
2028
|
+
"DS_MERCHANT_ORDER",
|
|
2029
|
+
"DS_MERCHANT_TERMINAL",
|
|
2030
|
+
"DS_MERCHANT_TRANSACTIONTYPE",
|
|
2031
|
+
"DS_MERCHANT_MERCHANTURL",
|
|
2032
|
+
"DS_MERCHANT_URLOK",
|
|
2033
|
+
"DS_MERCHANT_URLKO"
|
|
2034
|
+
]);
|
|
2035
|
+
var STORED = Object.freeze([
|
|
2036
|
+
"DS_MERCHANT_IDENTIFIER",
|
|
2037
|
+
"DS_MERCHANT_GROUP",
|
|
2038
|
+
"DS_MERCHANT_COF_INI",
|
|
2039
|
+
"DS_MERCHANT_COF_TYPE",
|
|
2040
|
+
"DS_MERCHANT_COF_TXNID"
|
|
2041
|
+
]);
|
|
2042
|
+
var SPECIAL = Object.freeze([
|
|
2043
|
+
"DS_MERCHANT_DIRECTPAYMENT",
|
|
2044
|
+
"DS_MERCHANT_SUMTOTAL",
|
|
2045
|
+
"DS_MERCHANT_DATEFRECUENCY",
|
|
2046
|
+
"DS_MERCHANT_CHARGEEXPIRYDATE",
|
|
2047
|
+
"DS_MERCHANT_IDOPER"
|
|
2048
|
+
]);
|
|
2049
|
+
var CARD_PARAMETERS = Object.freeze(["DS_MERCHANT_PAN", "DS_MERCHANT_EXPIRYDATE", "DS_MERCHANT_CVV2"]);
|
|
2050
|
+
var CURRENCIES = Object.freeze({ 978: "eur", 840: "usd", 826: "gbp", 756: "chf" });
|
|
2051
|
+
var MAX_PAGE2 = 256 * 1024;
|
|
2052
|
+
var CARD_FIELDS2 = Object.freeze({
|
|
2053
|
+
shown: "Sis_card-number",
|
|
2054
|
+
expiry: "SIS_card-expiration",
|
|
2055
|
+
cvc: "Sis_Tarjeta_CVV2",
|
|
2056
|
+
holder: "cardholderName",
|
|
2057
|
+
number: "Sis_Numero_Tarjeta",
|
|
2058
|
+
month: "Sis_Caducidad_Tarjeta_Mes",
|
|
2059
|
+
year: "Sis_Caducidad_Tarjeta_Anno"
|
|
2060
|
+
});
|
|
2061
|
+
var BROWSER_FIELDS = Object.freeze([
|
|
2062
|
+
"browserJavaEnabled",
|
|
2063
|
+
"browserJavascriptEnabled",
|
|
2064
|
+
"browserLanguage",
|
|
2065
|
+
"browserColorDepth",
|
|
2066
|
+
"browserScreenHeight",
|
|
2067
|
+
"browserScreenWidth",
|
|
2068
|
+
"browserTZ",
|
|
2069
|
+
"browserUserAgent"
|
|
2070
|
+
]);
|
|
2071
|
+
var AS_SERVED = Object.freeze(["cvvObligatorio", "threeDSCompInd", "fuc", "terminal", "merchantOrder", "bcancel"]);
|
|
2072
|
+
var CARD_PAGE = /* @__PURE__ */ new Set([...Object.values(CARD_FIELDS2), ...BROWSER_FIELDS, ...AS_SERVED]);
|
|
2073
|
+
var VISIBLE2 = /* @__PURE__ */ new Set([CARD_FIELDS2.shown, CARD_FIELDS2.expiry, CARD_FIELDS2.cvc, CARD_FIELDS2.holder]);
|
|
2074
|
+
var METHOD_PAGE = /* @__PURE__ */ new Set(["resultadoMethod", ...BROWSER_FIELDS, "threeDSCompInd"]);
|
|
2075
|
+
var REDSYS_REFUSALS = Object.freeze(["redsys_card_page", "redsys_3ds_challenge", "redsys_declined"]);
|
|
2076
|
+
// src/processors/quickpay.js
|
|
2077
|
+
var QUICKPAY_HOSTS = Object.freeze(["payment.quickpay.net"]);
|
|
2078
|
+
var QUICKPAY_MERCHANTS = Object.freeze([]);
|
|
2079
|
+
var MAX_ENTRY3 = 16 * 1024;
|
|
2080
|
+
var REQUIRED3 = Object.freeze([
|
|
2081
|
+
"version",
|
|
2082
|
+
"merchant_id",
|
|
2083
|
+
"agreement_id",
|
|
2084
|
+
"order_id",
|
|
2085
|
+
"amount",
|
|
2086
|
+
"currency",
|
|
2087
|
+
"continueurl",
|
|
2088
|
+
"cancelurl",
|
|
2089
|
+
"callbackurl",
|
|
2090
|
+
"checksum"
|
|
2091
|
+
]);
|
|
2092
|
+
var SCALARS = /* @__PURE__ */ new Set([
|
|
2093
|
+
...REQUIRED3,
|
|
2094
|
+
"type",
|
|
2095
|
+
"language",
|
|
2096
|
+
"autocapture",
|
|
2097
|
+
"autofee",
|
|
2098
|
+
"subscription",
|
|
2099
|
+
"description",
|
|
2100
|
+
"payment_methods",
|
|
2101
|
+
"acquirer",
|
|
2102
|
+
"branding_id",
|
|
2103
|
+
"google_analytics_tracking_id",
|
|
2104
|
+
"google_analytics_client_id",
|
|
2105
|
+
"deadline",
|
|
2106
|
+
"text_on_statement",
|
|
2107
|
+
"customer_email",
|
|
2108
|
+
"invoice_address_selection",
|
|
2109
|
+
"shipping_address_selection"
|
|
2110
|
+
]);
|
|
2111
|
+
var CURRENCIES2 = Object.freeze({ DKK: "dkk", EUR: "eur", USD: "usd", SEK: "sek", NOK: "nok", GBP: "gbp", CHF: "chf", PLN: "pln" });
|
|
2112
|
+
var MAX_PAGE3 = 256 * 1024;
|
|
2113
|
+
var CARD_FIELDS3 = Object.freeze({ number: "cardnumber", month: "expiration[month]", year: "expiration[year]", cvc: "cvd", holder: "cardholder" });
|
|
2114
|
+
var TYPED = /* @__PURE__ */ new Set([CARD_FIELDS3.number, CARD_FIELDS3.month, CARD_FIELDS3.year, CARD_FIELDS3.cvc]);
|
|
2115
|
+
var CARD_PAGE2 = /* @__PURE__ */ new Set(["session_id", ...TYPED]);
|
|
2116
|
+
var OPTIONAL = Object.freeze({ brand: "radio", "3d": "checkbox", cardholder: "text" });
|
|
2117
|
+
var AUTH_FIELDS = Object.freeze([
|
|
2118
|
+
"[auth]browserColorDepth",
|
|
2119
|
+
"[auth]browserJavaEnabled",
|
|
2120
|
+
"[auth]browserLanguage",
|
|
2121
|
+
"[auth]browserScreenHeight",
|
|
2122
|
+
"[auth]browserScreenWidth",
|
|
2123
|
+
"[auth]browserTZ",
|
|
2124
|
+
"[auth]threeDSCompInd"
|
|
2125
|
+
]);
|
|
2126
|
+
var QUICKPAY_REFUSALS = Object.freeze(["quickpay_card_page", "quickpay_3ds_challenge", "quickpay_cancelled"]);
|
|
1642
2127
|
// src/recognition.js
|
|
1643
2128
|
var PATTERN_WITHOUT_CARD_FIELDS = Object.freeze({
|
|
1644
2129
|
stripe: "api\\.stripe\\.com/v1/(payment_methods|tokens|setup_intents/seti_\\w+/confirm|payment_intents/pi_\\w+/confirm)"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare var WIX_PAYMENTS_PSP: string;
|
|
2
|
+
declare var WIX_PAYMENTS_CAPABILITY: string;
|
|
3
|
+
declare var WIX_PAYMENTS_OPERATION: string;
|
|
4
|
+
declare var WIX_PAYMENTS_HOST: string;
|
|
5
|
+
declare var WIX_PAYMENTS_TOKENIZE_URL: string;
|
|
6
|
+
declare var WIX_PAYMENTS_REFUSAL_CODES: readonly string[];
|
|
7
|
+
declare function isWixPaymentsTokenizeUrl(url: any): boolean;
|
|
8
|
+
declare function wixPaymentsBodyVerdict(body: any): Readonly<{
|
|
9
|
+
verdict: "refuse";
|
|
10
|
+
code: any;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
verdict: "card";
|
|
13
|
+
}>;
|
|
14
|
+
declare function wixPaymentsRequestRefusal(request: any): any;
|
|
15
|
+
declare function isPreparedWixPaymentsRequest(url: any, method: any, body: any, environment: any, headers: any): boolean;
|
|
16
|
+
declare var WIX_PAYMENTS_MERCHANT_PINS: readonly any[];
|
|
17
|
+
declare function wixPaymentsMerchantPin(merchantOrigin: any, pins?: readonly any[]): any;
|
|
18
|
+
declare function wixPaymentsMerchantRefusal(environment: any, merchantOrigin: any, pins?: readonly any[]): "unsupported_environment" | "wix_payments_merchant_unreviewed" | null;
|
|
19
|
+
declare function wixPaymentsRefusalMessage(code: any): any;
|
|
20
|
+
declare function injectWixPaymentsCard(body: any, card: any): {
|
|
21
|
+
body: string;
|
|
22
|
+
where: string[];
|
|
23
|
+
};
|
|
24
|
+
declare function isWixPaymentsDeviceRequest(templateBody: any, deviceBody: any): boolean;
|
|
25
|
+
declare function wixPaymentsRefusalCode(text: any): string | null;
|
|
26
|
+
declare function wixPaymentsAnswerOutcome(status: any, text: any, card: any): {
|
|
27
|
+
outcome: string;
|
|
28
|
+
reason: string;
|
|
29
|
+
code?: undefined;
|
|
30
|
+
body?: undefined;
|
|
31
|
+
} | {
|
|
32
|
+
outcome: string;
|
|
33
|
+
code: string;
|
|
34
|
+
reason?: undefined;
|
|
35
|
+
body?: undefined;
|
|
36
|
+
} | {
|
|
37
|
+
outcome: string;
|
|
38
|
+
body: string;
|
|
39
|
+
reason?: undefined;
|
|
40
|
+
code?: undefined;
|
|
41
|
+
};
|
|
42
|
+
export { WIX_PAYMENTS_CAPABILITY, WIX_PAYMENTS_HOST, WIX_PAYMENTS_MERCHANT_PINS, WIX_PAYMENTS_OPERATION, WIX_PAYMENTS_PSP, WIX_PAYMENTS_REFUSAL_CODES, WIX_PAYMENTS_TOKENIZE_URL, injectWixPaymentsCard, isPreparedWixPaymentsRequest, isWixPaymentsDeviceRequest, isWixPaymentsTokenizeUrl, wixPaymentsAnswerOutcome, wixPaymentsBodyVerdict, wixPaymentsMerchantPin, wixPaymentsMerchantRefusal, wixPaymentsRefusalCode, wixPaymentsRefusalMessage, wixPaymentsRequestRefusal };
|