@agent-cards/sdk 0.24.0 → 0.24.2
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 +32 -0
- package/README.md +61 -4
- package/dist/adyen-merchant-hosted.generated.d.ts +1 -1
- package/dist/adyen-merchant-hosted.generated.js +128 -35
- package/dist/agent-amount.generated.js +1 -1
- package/dist/aurus.d.ts +33 -0
- package/dist/aurus.js +75 -0
- package/dist/builtin-registry.generated.js +1 -1
- package/dist/capabilities.generated.js +1 -1
- package/dist/card-fields.generated.js +1854 -440
- package/dist/cardlink-vpos.d.ts +43 -0
- package/dist/cardlink-vpos.js +90 -0
- package/dist/cdp.js +22 -0
- package/dist/checkout-com.generated.js +5 -1
- package/dist/client.d.ts +75 -0
- package/dist/client.js +75 -0
- package/dist/cybersource-flex.generated.d.ts +39 -1
- package/dist/cybersource-flex.generated.js +100 -11
- package/dist/eghl.d.ts +40 -0
- package/dist/eghl.js +72 -0
- package/dist/gmo.generated.js +7 -2
- package/dist/hosted-entry.js +2 -0
- package/dist/lifecycle.d.ts +10 -0
- package/dist/lifecycle.js +25 -0
- package/dist/paddle-tokenex.generated.js +7 -2
- package/dist/payrails.generated.js +7 -2
- package/dist/pre-claim.d.ts +5 -0
- package/dist/pre-claim.js +90 -2
- package/dist/preflight-catalog.json +179 -1
- package/dist/preflight-schemas.json +16 -0
- package/dist/preflight.generated.d.ts +5 -0
- package/dist/preflight.generated.js +49 -3
- package/dist/preparation.d.ts +7 -0
- package/dist/preparation.js +21 -0
- package/dist/primer.generated.js +1856 -442
- package/dist/shiji-sts.generated.js +7 -2
- package/dist/stripe-checkout.generated.js +1837 -475
- package/dist/substitutions.generated.js +94 -1
- package/dist/tap-payments.generated.js +7 -2
- package/dist/token-repeats.d.ts +32 -0
- package/dist/token-repeats.js +64 -0
- package/dist/twoc2p.generated.js +7 -2
- package/examples/preflight/kernel-native/inventory.json +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cardlink's VPOS (the redirect payment page Greek banks give their merchants: Eurobank's paycenter on
|
|
3
|
+
* vpos.eurocommerce.gr, Cardlink's own on ecommerce.cardlink.gr, Nexi Greece's on www.alphaecommerce.gr), as this SDK
|
|
4
|
+
* reads it.
|
|
5
|
+
*
|
|
6
|
+
* The merchant's order page posts a signed entry form, top-level, to https://<host>/vpos/shophandlermpi, and the VPOS
|
|
7
|
+
* answers with its card page, whose form posts the card back to that same URL. The entry carries no card, and it is the
|
|
8
|
+
* one request this SDK pauses: the cardholder's device repeats it over the end-to-end TLS relay and fills the card into
|
|
9
|
+
* the page the VPOS returns to it (payment-core processors/cardlink_vpos.js). Every other POST the agent's browser makes
|
|
10
|
+
* to these hosts carries a card the agent typed or leads to a page that asks for one: the card page's own post and its
|
|
11
|
+
* card check, which share the entry's URL and carry the page's own fields, and anything posted to Cardlink's test
|
|
12
|
+
* hosts. This SDK aborts every one of them, so a placeholder card never reaches the VPOS.
|
|
13
|
+
*
|
|
14
|
+
* CARDLINK_VPOS_ENTRY_HOSTS is payment-core's CARDLINK_VPOS_HOSTS, and isCardlinkVposEntryUrl is payment-core's
|
|
15
|
+
* isCardlinkVposEntryUrl; cardlink-vpos.test.mjs pins both to payment-core.
|
|
16
|
+
*/
|
|
17
|
+
export declare const CARDLINK_VPOS_PSP = "cardlink_vpos";
|
|
18
|
+
export declare const CARDLINK_VPOS_ENTRY_HOSTS: readonly string[];
|
|
19
|
+
export declare const CARDLINK_VPOS_TEST_HOSTS: readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Whether a URL is an entry exactly as a merchant's form action writes it: https, one of the three live hosts in lower
|
|
22
|
+
* case, the default port, no credentials, the path /vpos/shophandlermpi, and no query or fragment, not even an empty one.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isCardlinkVposEntryUrl(raw: unknown): boolean;
|
|
25
|
+
/** Whether a URL is on one of the VPOS's hosts, live or test: https, no credentials, any port, any case, a trailing dot or not. */
|
|
26
|
+
export declare function isCardlinkVposHost(raw: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether a body reads as a merchant's entry and never as the card page's post: a form whose every pair decodes, that
|
|
29
|
+
* names a mid and a digest, and that carries none of the card page's fields or a card field. payment-core's entry rules
|
|
30
|
+
* judge the rest at create.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isCardlinkVposEntryBody(body: string | null | undefined): boolean;
|
|
33
|
+
/** The one request on the VPOS's hosts this SDK pauses: a POST of an entry body to an entry URL. */
|
|
34
|
+
export declare function isCardlinkVposEntry(url: string, method: string, body: string | null | undefined): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether an adapter must hand this request to the pre-claim gates: it is on one of the VPOS's hosts and this build's
|
|
37
|
+
* registry serves the entry. The card page's posts share the entry's URL, so the CDP adapter pauses them through the
|
|
38
|
+
* recognizer's host patterns, and attachToPlaywright's route predicate asks this, so both adapters show the gates every
|
|
39
|
+
* request to a VPOS host once the lane is armed.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isArmedCardlinkVposUrl(vault: {
|
|
42
|
+
isCardRequest(url: string, method?: string): boolean;
|
|
43
|
+
} | undefined, url: string): boolean;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cardlink's VPOS (the redirect payment page Greek banks give their merchants: Eurobank's paycenter on
|
|
3
|
+
* vpos.eurocommerce.gr, Cardlink's own on ecommerce.cardlink.gr, Nexi Greece's on www.alphaecommerce.gr), as this SDK
|
|
4
|
+
* reads it.
|
|
5
|
+
*
|
|
6
|
+
* The merchant's order page posts a signed entry form, top-level, to https://<host>/vpos/shophandlermpi, and the VPOS
|
|
7
|
+
* answers with its card page, whose form posts the card back to that same URL. The entry carries no card, and it is the
|
|
8
|
+
* one request this SDK pauses: the cardholder's device repeats it over the end-to-end TLS relay and fills the card into
|
|
9
|
+
* the page the VPOS returns to it (payment-core processors/cardlink_vpos.js). Every other POST the agent's browser makes
|
|
10
|
+
* to these hosts carries a card the agent typed or leads to a page that asks for one: the card page's own post and its
|
|
11
|
+
* card check, which share the entry's URL and carry the page's own fields, and anything posted to Cardlink's test
|
|
12
|
+
* hosts. This SDK aborts every one of them, so a placeholder card never reaches the VPOS.
|
|
13
|
+
*
|
|
14
|
+
* CARDLINK_VPOS_ENTRY_HOSTS is payment-core's CARDLINK_VPOS_HOSTS, and isCardlinkVposEntryUrl is payment-core's
|
|
15
|
+
* isCardlinkVposEntryUrl; cardlink-vpos.test.mjs pins both to payment-core.
|
|
16
|
+
*/
|
|
17
|
+
export const CARDLINK_VPOS_PSP = 'cardlink_vpos';
|
|
18
|
+
export const CARDLINK_VPOS_ENTRY_HOSTS = Object.freeze(['vpos.eurocommerce.gr', 'ecommerce.cardlink.gr', 'www.alphaecommerce.gr']);
|
|
19
|
+
export const CARDLINK_VPOS_TEST_HOSTS = Object.freeze(['eurocommerce-test.cardlink.gr', 'ecommerce-test.cardlink.gr',
|
|
20
|
+
'alphaecommerce-test.cardlink.gr']);
|
|
21
|
+
const ENTRY_PATH = '/vpos/shophandlermpi';
|
|
22
|
+
// An entry URL, for asking whether this build's registry serves the entry.
|
|
23
|
+
const PROBE = 'https://vpos.eurocommerce.gr/vpos/shophandlermpi';
|
|
24
|
+
// A field of the card page's form or of its card check, or any card field: an entry never carries one.
|
|
25
|
+
const PAGE_FIELD = /^(?:card[._]|cvv|cmd$|trid$|st$|paystep$|paymentmethod$|startbonus$|bonusdata$|what$|tds2_)/i;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a URL is an entry exactly as a merchant's form action writes it: https, one of the three live hosts in lower
|
|
28
|
+
* case, the default port, no credentials, the path /vpos/shophandlermpi, and no query or fragment, not even an empty one.
|
|
29
|
+
*/
|
|
30
|
+
export function isCardlinkVposEntryUrl(raw) {
|
|
31
|
+
if (typeof raw !== 'string' || raw.length > 256 || raw.includes('?') || raw.includes('#'))
|
|
32
|
+
return false;
|
|
33
|
+
let url;
|
|
34
|
+
try {
|
|
35
|
+
url = new URL(raw);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return url.href === raw && url.protocol === 'https:' && !url.port && !url.username && !url.password
|
|
41
|
+
&& CARDLINK_VPOS_ENTRY_HOSTS.includes(url.hostname) && url.pathname === ENTRY_PATH;
|
|
42
|
+
}
|
|
43
|
+
/** Whether a URL is on one of the VPOS's hosts, live or test: https, no credentials, any port, any case, a trailing dot or not. */
|
|
44
|
+
export function isCardlinkVposHost(raw) {
|
|
45
|
+
let url;
|
|
46
|
+
try {
|
|
47
|
+
url = new URL(raw);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const host = url.hostname.toLowerCase().replace(/\.$/, '');
|
|
53
|
+
return url.protocol === 'https:' && !url.username && !url.password && (CARDLINK_VPOS_ENTRY_HOSTS.includes(host) || CARDLINK_VPOS_TEST_HOSTS.includes(host));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Whether a body reads as a merchant's entry and never as the card page's post: a form whose every pair decodes, that
|
|
57
|
+
* names a mid and a digest, and that carries none of the card page's fields or a card field. payment-core's entry rules
|
|
58
|
+
* judge the rest at create.
|
|
59
|
+
*/
|
|
60
|
+
export function isCardlinkVposEntryBody(body) {
|
|
61
|
+
if (typeof body !== 'string' || body === '')
|
|
62
|
+
return false;
|
|
63
|
+
const names = [];
|
|
64
|
+
for (const chunk of body.split('&')) {
|
|
65
|
+
const eq = chunk.indexOf('=');
|
|
66
|
+
if (eq < 1)
|
|
67
|
+
return false;
|
|
68
|
+
try {
|
|
69
|
+
names.push(decodeURIComponent(chunk.slice(0, eq).replace(/\+/g, ' ')));
|
|
70
|
+
decodeURIComponent(chunk.slice(eq + 1).replace(/\+/g, ' '));
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return names.includes('mid') && names.includes('digest') && !names.some((name) => PAGE_FIELD.test(name));
|
|
77
|
+
}
|
|
78
|
+
/** The one request on the VPOS's hosts this SDK pauses: a POST of an entry body to an entry URL. */
|
|
79
|
+
export function isCardlinkVposEntry(url, method, body) {
|
|
80
|
+
return String(method).toUpperCase() === 'POST' && isCardlinkVposEntryUrl(url) && isCardlinkVposEntryBody(body);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Whether an adapter must hand this request to the pre-claim gates: it is on one of the VPOS's hosts and this build's
|
|
84
|
+
* registry serves the entry. The card page's posts share the entry's URL, so the CDP adapter pauses them through the
|
|
85
|
+
* recognizer's host patterns, and attachToPlaywright's route predicate asks this, so both adapters show the gates every
|
|
86
|
+
* request to a VPOS host once the lane is armed.
|
|
87
|
+
*/
|
|
88
|
+
export function isArmedCardlinkVposUrl(vault, url) {
|
|
89
|
+
return isCardlinkVposHost(url) && typeof vault?.isCardRequest === 'function' && vault.isCardRequest(PROBE, 'POST');
|
|
90
|
+
}
|
package/dist/cdp.js
CHANGED
|
@@ -15,6 +15,7 @@ import { isPaddleVgsCardsUrl } from './paddle-vgs.generated.js';
|
|
|
15
15
|
import { isToastPaymentMethodsUrl, readToastBody } from './toast.generated.js';
|
|
16
16
|
import { PADDLE_VGS_PAY_PATTERNS, PaddleVgsPayGate, isPaddleCheckoutService, recognizesPaddleVgs } from './paddle-vgs-pay.js';
|
|
17
17
|
import { DatatransRepeats } from './datatrans.js';
|
|
18
|
+
import { TokenRepeats } from './token-repeats.js';
|
|
18
19
|
import { TokenexIframeRepeats, isArmedTokenexIframeUrl } from './tokenex-iframe.js';
|
|
19
20
|
import { isArmedPaytrailUrl } from './paytrail.js';
|
|
20
21
|
import { SHIJI_STS_COMPANION_WINDOW_MS, ShijiStsCompanions, ShijiStsError, isShijiStsHost, shijiStsTokenContinuation, } from './shiji-sts.js';
|
|
@@ -27,6 +28,8 @@ import { isArmedRedsysUrl } from './redsys.js';
|
|
|
27
28
|
import { isArmedPrzelewy24Url } from './przelewy24.js';
|
|
28
29
|
import { isArmedBarionUrl } from './barion.js';
|
|
29
30
|
import { isArmedPayplugUrl } from './payplug.js';
|
|
31
|
+
import { isArmedCardlinkVposUrl } from './cardlink-vpos.js';
|
|
32
|
+
import { isArmedEghlUrl } from './eghl.js';
|
|
30
33
|
import { isArmedQuickpayUrl } from './quickpay.js';
|
|
31
34
|
import { COMGATE_CARD_PATTERNS, isArmedComgateUrl, servesComgate } from './comgate.js';
|
|
32
35
|
import { isArmedEximbayUrl } from './eximbay.js';
|
|
@@ -2082,6 +2085,8 @@ export async function attachToCdp(cdp, pageSessionId, opts) {
|
|
|
2082
2085
|
// The approved TokenEx iframe answers, per frameId (the card-number frame is an out-of-process iframe whose own
|
|
2083
2086
|
// session pauses its post; its frameId names it): the repeat rule (tokenex-iframe.ts).
|
|
2084
2087
|
const tokenexIframeRepeats = new TokenexIframeRepeats();
|
|
2088
|
+
// The last approved plain token answer, for the page's identical re-send (token-repeats.ts).
|
|
2089
|
+
const tokenRepeats = new TokenRepeats();
|
|
2085
2090
|
// The card product each Worldline MyCheckout hosted checkout chose (worldline-mycheckout.ts).
|
|
2086
2091
|
const worldlineProducts = new WorldlineMyCheckoutProducts();
|
|
2087
2092
|
// The Shiji STS getCvvId companion of the getTokenId this attachment last continued (shiji-sts.ts).
|
|
@@ -2453,6 +2458,11 @@ export async function attachToCdp(cdp, pageSessionId, opts) {
|
|
|
2453
2458
|
&& params?.frameId === pageTargetId && typeof params?.url === 'string') {
|
|
2454
2459
|
committedTopUrl = params.url.split('#')[0];
|
|
2455
2460
|
}
|
|
2461
|
+
// A history update that leaves the prepared page's origin, path and query as they were (a single-page
|
|
2462
|
+
// checkout's replaceState to its own URL, a hash change) is the same document, and keeps the preparation.
|
|
2463
|
+
if (method === 'Page.navigatedWithinDocument' && sessionId === pageSessionId && preparationFrameId && params?.frameId === preparationFrameId
|
|
2464
|
+
&& preparationGate.keepsDocument(params.url))
|
|
2465
|
+
return;
|
|
2456
2466
|
if (((method === 'Page.frameNavigated' && !params.frame?.parentId) || (method === 'Page.navigatedWithinDocument' && preparationFrameId && params.frameId === preparationFrameId)) && sessionId === pageSessionId) {
|
|
2457
2467
|
preparationGate.invalidate('merchant_document_changed');
|
|
2458
2468
|
mercadoCheckout.invalidate();
|
|
@@ -2898,6 +2908,7 @@ export async function attachToCdp(cdp, pageSessionId, opts) {
|
|
|
2898
2908
|
juspay: juspayCheckout,
|
|
2899
2909
|
datatrans: datatransRepeats,
|
|
2900
2910
|
tokenexIframe: tokenexIframeRepeats,
|
|
2911
|
+
tokenRepeats,
|
|
2901
2912
|
ebanx: ebanxFollowUps,
|
|
2902
2913
|
payrexx: payrexxFollowUps,
|
|
2903
2914
|
nikeOrders,
|
|
@@ -3439,6 +3450,7 @@ export async function attachToCdp(cdp, pageSessionId, opts) {
|
|
|
3439
3450
|
// The frame that received it: the paused request's, or its retry's once rebound.
|
|
3440
3451
|
datatransRepeats.remember(activeRequest?.frameId || undefined, deliverRequest.url, deliverBody, replay);
|
|
3441
3452
|
tokenexIframeRepeats.remember(activeRequest?.frameId || undefined, deliverRequest.url, deliverBody, replay);
|
|
3453
|
+
tokenRepeats.remember(activeRequest?.frameId || undefined, deliverRequest.url, deliverBody, replay);
|
|
3442
3454
|
attempt.assertLive();
|
|
3443
3455
|
// An ACI card-number request answered: its checkout's held CVC and expiry requests get the
|
|
3444
3456
|
// same answer, and its /payment submission may continue (see AciGate).
|
|
@@ -3975,6 +3987,8 @@ export async function attachToPlaywright(page, opts) {
|
|
|
3975
3987
|
const datatransRepeats = new DatatransRepeats();
|
|
3976
3988
|
// The approved TokenEx iframe answers, per Frame: the repeat rule (tokenex-iframe.ts).
|
|
3977
3989
|
const tokenexIframeRepeats = new TokenexIframeRepeats();
|
|
3990
|
+
// The last approved plain token answer, for the page's identical re-send (token-repeats.ts).
|
|
3991
|
+
const tokenRepeats = new TokenRepeats();
|
|
3978
3992
|
// The card product each Worldline MyCheckout hosted checkout chose (worldline-mycheckout.ts).
|
|
3979
3993
|
const worldlineProducts = new WorldlineMyCheckoutProducts();
|
|
3980
3994
|
const frameOf = (request) => { try {
|
|
@@ -4029,6 +4043,12 @@ export async function attachToPlaywright(page, opts) {
|
|
|
4029
4043
|
// Every request to PayPlug's page host once its entry is served (payplug.ts): the page's card post reaches the
|
|
4030
4044
|
// PayPlug gate and fails.
|
|
4031
4045
|
|| isArmedPayplugUrl(opts.vault, url.toString())
|
|
4046
|
+
// Every request to the VPOS's hosts once its entry is served (cardlink-vpos.ts): the card page's post, which shares
|
|
4047
|
+
// the entry's URL, reaches the Cardlink gate and fails.
|
|
4048
|
+
|| isArmedCardlinkVposUrl(opts.vault, url.toString())
|
|
4049
|
+
// Every request to eGHL's hosts once its entry is served (eghl.ts): the card page's post, which shares the entry's
|
|
4050
|
+
// address, reaches the eGHL gate and fails.
|
|
4051
|
+
|| isArmedEghlUrl(opts.vault, url.toString())
|
|
4032
4052
|
// Every request to an NMI host whose entry is served (ekashu.ts), as attachToCdp arms the
|
|
4033
4053
|
// host: the card page's post and its 3-D Secure calls reach the NMI gate and fail.
|
|
4034
4054
|
|| isArmedEkashuUrl(opts.vault, url.toString())
|
|
@@ -4167,6 +4187,7 @@ export async function attachToPlaywright(page, opts) {
|
|
|
4167
4187
|
juspay: juspayCheckout,
|
|
4168
4188
|
datatrans: datatransRepeats,
|
|
4169
4189
|
tokenexIframe: tokenexIframeRepeats,
|
|
4190
|
+
tokenRepeats,
|
|
4170
4191
|
ebanx: ebanxFollowUps,
|
|
4171
4192
|
payrexx: payrexxFollowUps,
|
|
4172
4193
|
nikeOrders,
|
|
@@ -4573,6 +4594,7 @@ export async function attachToPlaywright(page, opts) {
|
|
|
4573
4594
|
await deliverTo.fulfill({ status: replay.status, headers: withCorsHeaders(replay.headers, cors.headers), body: replay.body });
|
|
4574
4595
|
datatransRepeats.remember(frameOf(deliverRequest), deliverRequest.url(), deliverBody, replay);
|
|
4575
4596
|
tokenexIframeRepeats.remember(frameOf(deliverRequest), deliverRequest.url(), deliverBody, replay);
|
|
4597
|
+
tokenRepeats.remember(frameOf(deliverRequest), deliverRequest.url(), deliverBody, replay);
|
|
4576
4598
|
assertRequestLive();
|
|
4577
4599
|
// See the same step in attachToCdp.
|
|
4578
4600
|
aci.answered(deliverRequest.url(), { status: replay.status, headers: replay.headers, body: replay.body }, replay.authorizationId);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
// Generated from @agent-cards/payment-core. Do not edit.
|
|
3
|
-
// artifact-sha256:
|
|
3
|
+
// artifact-sha256: a4f45fd0e69b19e8cb2da463b865012950ae5bcc9971c01d3e348a7de1a255ef
|
|
4
4
|
// src/checkout-com.js
|
|
5
5
|
var ENDPOINTS = Object.freeze({
|
|
6
6
|
production: ["https://api.checkout.com/tokens", "https://card-acquisition-gateway.checkout.com/tokens"],
|
|
7
7
|
sandbox: ["https://api.sandbox.checkout.com/tokens", "https://card-acquisition-gateway.sandbox.checkout.com/tokens"]
|
|
8
8
|
});
|
|
9
|
+
var MERCHANT_ENDPOINT = /^https:\/\/(?:[a-z0-9]+\.)?(?:api(\.sandbox)?\.checkout\.com\/tokens|devices\.api(\.sandbox)?\.checkout\.com\/(?:cag\/)?tokens)$/;
|
|
9
10
|
var record = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
10
11
|
var own = (value, name) => Object.prototype.hasOwnProperty.call(value, name);
|
|
11
12
|
var keys = (value, allowed) => record(value) && Object.keys(value).every((name) => allowed.includes(name));
|
|
@@ -123,6 +124,9 @@ function checkoutComEnvironment(url) {
|
|
|
123
124
|
return "production";
|
|
124
125
|
if (ENDPOINTS.sandbox.includes(url))
|
|
125
126
|
return "sandbox";
|
|
127
|
+
const merchant = typeof url === "string" ? MERCHANT_ENDPOINT.exec(url) : null;
|
|
128
|
+
if (merchant?.[0] === url)
|
|
129
|
+
return merchant[1] || merchant[2] ? "sandbox" : "production";
|
|
126
130
|
return void 0;
|
|
127
131
|
}
|
|
128
132
|
var ADDRESS_TEXT = ["address_line1", "address_line2", "city", "state", "zip", "name"];
|
package/dist/client.d.ts
CHANGED
|
@@ -507,6 +507,34 @@ export declare const SUPPORTED_REGISTRY_FEATURES: readonly string[];
|
|
|
507
507
|
* authorize() needs the agent's pair, and the API holds its amount to the price. Served on the same
|
|
508
508
|
* terms, and the API holds the lane to Agentcard's own company.
|
|
509
509
|
*
|
|
510
|
+
* `aurus_one_time_token`: the card request Aurus Pay's ecom card frame (O'Reilly Auto Parts) sends to
|
|
511
|
+
* pecst<NN>.aurusepay.com/storeservices/ecom/oneTimeToken, the card sealed in the frame under a public key its own
|
|
512
|
+
* script carries. This build pauses it only when Aurus's card frame sent it (aurus.ts aurusPreClaim); the same
|
|
513
|
+
* request from the store's page or another frame fails in the browser before anything is created. The request
|
|
514
|
+
* names no amount, so authorize() needs the agent's pair, above zero. The cardholder's device does not seal for
|
|
515
|
+
* Aurus yet (payment-core processors/aurus.js), so a paused request opens no approval that pays.
|
|
516
|
+
*
|
|
517
|
+
* `viva_smart_checkout_chargetoken`: the card request Viva Wallet's Smart Checkout page sends as one
|
|
518
|
+
* JSON request to www.vivapayments.com/web2/checkout/v2/chargetokens (demo.vivapayments.com in test),
|
|
519
|
+
* on Pay, after the page's own reCAPTCHA run. This build pauses only the page's own card body at that
|
|
520
|
+
* exact URL (payment-core processors/viva_wallet.js); a body that keeps the card, pays with a stored
|
|
521
|
+
* card, converts the currency or is the page's second try after a decline fails in the browser before
|
|
522
|
+
* anything is created. The cardholder's device sends the card through Agentcard's checkout relay, since
|
|
523
|
+
* the page's request answers no other origin, and the page gets Viva's single-use charge token as
|
|
524
|
+
* payment-core's judge rebuilt it; the page then charges that token card free. The body names its
|
|
525
|
+
* amount, which the API holds to the agent's pair, and the API pays a live token only for an order
|
|
526
|
+
* payment-core pins. Served on the same terms, and the API holds the lane to Agentcard's own company.
|
|
527
|
+
*
|
|
528
|
+
* `paystack_pinned_key`: the charge Paystack's hosted checkout sends as one form POST to
|
|
529
|
+
* standard.paystack.co/charge/, the card only as `clientdata`, RSA ciphertext under the one key
|
|
530
|
+
* Paystack's page carries. This build pauses only the card page's own charge at that exact URL
|
|
531
|
+
* (payment-core processors/paystack.js); a charge that keeps the card, starts a plan or carries a PIN
|
|
532
|
+
* fails in the browser before anything is created. The cardholder's device encrypts the real card under
|
|
533
|
+
* the same pinned key and sends the charge itself, and the page gets Paystack's answer: paid, declined,
|
|
534
|
+
* or the issuer's 3-D Secure step, which the page then runs in the agent's browser. The charge names
|
|
535
|
+
* no amount, so authorize() needs the agent's pair, above zero. Served on the same terms, and the API
|
|
536
|
+
* holds the lane to Agentcard's own company.
|
|
537
|
+
*
|
|
510
538
|
* `usaepay_payment_key`: the card request USAePay's Pay.js card frame sends as one JSON request to
|
|
511
539
|
* www.usaepay.com/api/v2/pub/payment_keys (secure.usaepay.com alike; sandbox.usaepay.com in test), under
|
|
512
540
|
* the merchant's public key in its Authorization. This build pauses only the frame's own card body at
|
|
@@ -555,6 +583,40 @@ export declare const SUPPORTED_REGISTRY_FEATURES: readonly string[];
|
|
|
555
583
|
* approves. Served on the same terms: only to a build that lists it, for a company Agentcard turned
|
|
556
584
|
* ProcessOut on for.
|
|
557
585
|
*
|
|
586
|
+
* `monei_card_token`: the card request MONEI's card frame sends from MONEI's payment page
|
|
587
|
+
* (secure.monei.com/payments/<id>) to api.monei.com/v1/tokens, with the payment's id and the card. This
|
|
588
|
+
* build pauses only the frame's own body for a payment at that exact URL (payment-core
|
|
589
|
+
* processors/monei.js); MONEI's account flow, Click to Pay and a wallet on the same URL fail in the
|
|
590
|
+
* browser before anything is created. The request names neither the merchant nor the amount, so the API
|
|
591
|
+
* reads MONEI's own record of the payment and holds the agent's pair, above zero
|
|
592
|
+
* (agent-amount-processors.json), to MONEI's amount exactly. The cardholder's device sends the card to
|
|
593
|
+
* MONEI itself and the frame gets back MONEI's payment token alone, rebuilt by payment-core's judge.
|
|
594
|
+
* Served on the same terms: only to a build that lists it, for a company Agentcard turned MONEI on for.
|
|
595
|
+
*
|
|
596
|
+
* `frisbii_card_token`: the card request Frisbii Checkout's hosted payment page (checkout.reepay.com or
|
|
597
|
+
* checkout.frisbii.com, as an overlay, an embedded frame or a full window) sends to
|
|
598
|
+
* card.reepay.com or card.frisbii.com /v1/token/?session=<id>, with the merchant's public key and the
|
|
599
|
+
* card. This build pauses only the page's own body at that exact URL (payment-core
|
|
600
|
+
* processors/frisbii.js); any other body on it, one that keeps the card on file included, fails in the
|
|
601
|
+
* browser before anything is created. The page's two other card paths, a stored card's token
|
|
602
|
+
* (/v1/token/cof/) and Click to Pay (/v1/token/create_click_to_pay), are held and refused whatever
|
|
603
|
+
* their body, so neither leaves the browser either. The request names the amount only when
|
|
604
|
+
* the session carries 3-D Secure data, so the agent's pair is required, above zero
|
|
605
|
+
* (agent-amount-processors.json), and the API refuses it when it differs from the page's own. The
|
|
606
|
+
* cardholder's device sends the card to Frisbii
|
|
607
|
+
* itself and the page gets back Frisbii's card token or 3-D Secure step alone, rebuilt by payment-core's
|
|
608
|
+
* judge. Served on the same terms: only to a build that lists it, for a company Agentcard turned Frisbii
|
|
609
|
+
* on for.
|
|
610
|
+
*
|
|
611
|
+
* `bigcommerce_card_form`: the payment BigCommerce's own card form (the card fields on
|
|
612
|
+
* payments.bigcommerce.com/pay/hosted_forms/<id>/field, or the store page's own inputs) sends as JSON to
|
|
613
|
+
* https://payments.bigcommerce.com/api/public/v1/orders/payments under the order's payment token, the card
|
|
614
|
+
* in payment.credit_card. This build pauses only a body that carries a new card there (payment-core
|
|
615
|
+
* processors/bigcommerce.js); a card saved at the store, another processor's token and a wallet continue
|
|
616
|
+
* untouched, and a card the store would keep fails in the browser before anything is created. The body
|
|
617
|
+
* names the store's total, which the cardholder approves. Served on the same terms: only to a build that
|
|
618
|
+
* lists it, for a company Agentcard turned BigCommerce on for.
|
|
619
|
+
*
|
|
558
620
|
* `aps_custom_merchant_page`: Amazon Payment Services' custom merchant page, whose own card form
|
|
559
621
|
* posts top-level to /FortAPI/paymentPage on checkout.payfort.com (sbcheckout.payfort.com on APS's
|
|
560
622
|
* sandbox) with service_command=TOKENIZATION. This build pauses that navigation; the cardholder's
|
|
@@ -598,6 +660,19 @@ export declare const SUPPORTED_REGISTRY_FEATURES: readonly string[];
|
|
|
598
660
|
* zero. Served only to a build that lists it, and the API turns PayPlug on for Agentcard's own
|
|
599
661
|
* company alone.
|
|
600
662
|
*
|
|
663
|
+
* `cardlink_vpos_hosted_payment_page`: Cardlink's VPOS, the payment page of Eurobank, Cardlink and Nexi
|
|
664
|
+
* Greece, whose card-free signed entry (a form post to /vpos/shophandlermpi on one of the three hosts) this build
|
|
665
|
+
* pauses for the cardholder's device, and whose card page's post and card check on the same URL this build never
|
|
666
|
+
* lets the agent's browser send (pre-claim.ts, cardlink-vpos.ts). Served only to a build that lists it, and the API
|
|
667
|
+
* turns the lane on for Agentcard's own company alone.
|
|
668
|
+
*
|
|
669
|
+
* `eghl_hosted_payment_page`: eGHL's payment page (ADAPTIS, formerly eGHL, on securepay.e-ghl.com), whose card-free
|
|
670
|
+
* entry (a GET of /IPG/payment.aspx with the payment in its query, which the merchant's checkout or eGHL's Shopify app
|
|
671
|
+
* sends the buyer to) this build pauses for the cardholder's device by its exact URL (hosted-entry.ts), and whose card
|
|
672
|
+
* page's post to the same address this build never lets the agent's browser send (pre-claim.ts, eghl.ts). The entry
|
|
673
|
+
* names its amount, and the API holds the agent's pair to it exactly. Served only to a build that lists it, and the API
|
|
674
|
+
* turns the lane on for Agentcard's own company alone.
|
|
675
|
+
*
|
|
601
676
|
* `paymob_checkout_pay`: the card payment Paymob's own checkout sends, from Unified Checkout
|
|
602
677
|
* (<country>.checkout.paymob.com) or from the Pixel card frame a merchant's page embeds, as JSON to
|
|
603
678
|
* https://<accept|uae|ksa|oman>.paymob.com/api/acceptance/payments/pay. This build pauses only the
|
package/dist/client.js
CHANGED
|
@@ -501,6 +501,34 @@ export const SUPPORTED_REGISTRY_FEATURES = ['card_fields', 'checkout_sessions'];
|
|
|
501
501
|
* authorize() needs the agent's pair, and the API holds its amount to the price. Served on the same
|
|
502
502
|
* terms, and the API holds the lane to Agentcard's own company.
|
|
503
503
|
*
|
|
504
|
+
* `aurus_one_time_token`: the card request Aurus Pay's ecom card frame (O'Reilly Auto Parts) sends to
|
|
505
|
+
* pecst<NN>.aurusepay.com/storeservices/ecom/oneTimeToken, the card sealed in the frame under a public key its own
|
|
506
|
+
* script carries. This build pauses it only when Aurus's card frame sent it (aurus.ts aurusPreClaim); the same
|
|
507
|
+
* request from the store's page or another frame fails in the browser before anything is created. The request
|
|
508
|
+
* names no amount, so authorize() needs the agent's pair, above zero. The cardholder's device does not seal for
|
|
509
|
+
* Aurus yet (payment-core processors/aurus.js), so a paused request opens no approval that pays.
|
|
510
|
+
*
|
|
511
|
+
* `viva_smart_checkout_chargetoken`: the card request Viva Wallet's Smart Checkout page sends as one
|
|
512
|
+
* JSON request to www.vivapayments.com/web2/checkout/v2/chargetokens (demo.vivapayments.com in test),
|
|
513
|
+
* on Pay, after the page's own reCAPTCHA run. This build pauses only the page's own card body at that
|
|
514
|
+
* exact URL (payment-core processors/viva_wallet.js); a body that keeps the card, pays with a stored
|
|
515
|
+
* card, converts the currency or is the page's second try after a decline fails in the browser before
|
|
516
|
+
* anything is created. The cardholder's device sends the card through Agentcard's checkout relay, since
|
|
517
|
+
* the page's request answers no other origin, and the page gets Viva's single-use charge token as
|
|
518
|
+
* payment-core's judge rebuilt it; the page then charges that token card free. The body names its
|
|
519
|
+
* amount, which the API holds to the agent's pair, and the API pays a live token only for an order
|
|
520
|
+
* payment-core pins. Served on the same terms, and the API holds the lane to Agentcard's own company.
|
|
521
|
+
*
|
|
522
|
+
* `paystack_pinned_key`: the charge Paystack's hosted checkout sends as one form POST to
|
|
523
|
+
* standard.paystack.co/charge/, the card only as `clientdata`, RSA ciphertext under the one key
|
|
524
|
+
* Paystack's page carries. This build pauses only the card page's own charge at that exact URL
|
|
525
|
+
* (payment-core processors/paystack.js); a charge that keeps the card, starts a plan or carries a PIN
|
|
526
|
+
* fails in the browser before anything is created. The cardholder's device encrypts the real card under
|
|
527
|
+
* the same pinned key and sends the charge itself, and the page gets Paystack's answer: paid, declined,
|
|
528
|
+
* or the issuer's 3-D Secure step, which the page then runs in the agent's browser. The charge names
|
|
529
|
+
* no amount, so authorize() needs the agent's pair, above zero. Served on the same terms, and the API
|
|
530
|
+
* holds the lane to Agentcard's own company.
|
|
531
|
+
*
|
|
504
532
|
* `usaepay_payment_key`: the card request USAePay's Pay.js card frame sends as one JSON request to
|
|
505
533
|
* www.usaepay.com/api/v2/pub/payment_keys (secure.usaepay.com alike; sandbox.usaepay.com in test), under
|
|
506
534
|
* the merchant's public key in its Authorization. This build pauses only the frame's own card body at
|
|
@@ -549,6 +577,40 @@ export const SUPPORTED_REGISTRY_FEATURES = ['card_fields', 'checkout_sessions'];
|
|
|
549
577
|
* approves. Served on the same terms: only to a build that lists it, for a company Agentcard turned
|
|
550
578
|
* ProcessOut on for.
|
|
551
579
|
*
|
|
580
|
+
* `monei_card_token`: the card request MONEI's card frame sends from MONEI's payment page
|
|
581
|
+
* (secure.monei.com/payments/<id>) to api.monei.com/v1/tokens, with the payment's id and the card. This
|
|
582
|
+
* build pauses only the frame's own body for a payment at that exact URL (payment-core
|
|
583
|
+
* processors/monei.js); MONEI's account flow, Click to Pay and a wallet on the same URL fail in the
|
|
584
|
+
* browser before anything is created. The request names neither the merchant nor the amount, so the API
|
|
585
|
+
* reads MONEI's own record of the payment and holds the agent's pair, above zero
|
|
586
|
+
* (agent-amount-processors.json), to MONEI's amount exactly. The cardholder's device sends the card to
|
|
587
|
+
* MONEI itself and the frame gets back MONEI's payment token alone, rebuilt by payment-core's judge.
|
|
588
|
+
* Served on the same terms: only to a build that lists it, for a company Agentcard turned MONEI on for.
|
|
589
|
+
*
|
|
590
|
+
* `frisbii_card_token`: the card request Frisbii Checkout's hosted payment page (checkout.reepay.com or
|
|
591
|
+
* checkout.frisbii.com, as an overlay, an embedded frame or a full window) sends to
|
|
592
|
+
* card.reepay.com or card.frisbii.com /v1/token/?session=<id>, with the merchant's public key and the
|
|
593
|
+
* card. This build pauses only the page's own body at that exact URL (payment-core
|
|
594
|
+
* processors/frisbii.js); any other body on it, one that keeps the card on file included, fails in the
|
|
595
|
+
* browser before anything is created. The page's two other card paths, a stored card's token
|
|
596
|
+
* (/v1/token/cof/) and Click to Pay (/v1/token/create_click_to_pay), are held and refused whatever
|
|
597
|
+
* their body, so neither leaves the browser either. The request names the amount only when
|
|
598
|
+
* the session carries 3-D Secure data, so the agent's pair is required, above zero
|
|
599
|
+
* (agent-amount-processors.json), and the API refuses it when it differs from the page's own. The
|
|
600
|
+
* cardholder's device sends the card to Frisbii
|
|
601
|
+
* itself and the page gets back Frisbii's card token or 3-D Secure step alone, rebuilt by payment-core's
|
|
602
|
+
* judge. Served on the same terms: only to a build that lists it, for a company Agentcard turned Frisbii
|
|
603
|
+
* on for.
|
|
604
|
+
*
|
|
605
|
+
* `bigcommerce_card_form`: the payment BigCommerce's own card form (the card fields on
|
|
606
|
+
* payments.bigcommerce.com/pay/hosted_forms/<id>/field, or the store page's own inputs) sends as JSON to
|
|
607
|
+
* https://payments.bigcommerce.com/api/public/v1/orders/payments under the order's payment token, the card
|
|
608
|
+
* in payment.credit_card. This build pauses only a body that carries a new card there (payment-core
|
|
609
|
+
* processors/bigcommerce.js); a card saved at the store, another processor's token and a wallet continue
|
|
610
|
+
* untouched, and a card the store would keep fails in the browser before anything is created. The body
|
|
611
|
+
* names the store's total, which the cardholder approves. Served on the same terms: only to a build that
|
|
612
|
+
* lists it, for a company Agentcard turned BigCommerce on for.
|
|
613
|
+
*
|
|
552
614
|
* `aps_custom_merchant_page`: Amazon Payment Services' custom merchant page, whose own card form
|
|
553
615
|
* posts top-level to /FortAPI/paymentPage on checkout.payfort.com (sbcheckout.payfort.com on APS's
|
|
554
616
|
* sandbox) with service_command=TOKENIZATION. This build pauses that navigation; the cardholder's
|
|
@@ -592,6 +654,19 @@ export const SUPPORTED_REGISTRY_FEATURES = ['card_fields', 'checkout_sessions'];
|
|
|
592
654
|
* zero. Served only to a build that lists it, and the API turns PayPlug on for Agentcard's own
|
|
593
655
|
* company alone.
|
|
594
656
|
*
|
|
657
|
+
* `cardlink_vpos_hosted_payment_page`: Cardlink's VPOS, the payment page of Eurobank, Cardlink and Nexi
|
|
658
|
+
* Greece, whose card-free signed entry (a form post to /vpos/shophandlermpi on one of the three hosts) this build
|
|
659
|
+
* pauses for the cardholder's device, and whose card page's post and card check on the same URL this build never
|
|
660
|
+
* lets the agent's browser send (pre-claim.ts, cardlink-vpos.ts). Served only to a build that lists it, and the API
|
|
661
|
+
* turns the lane on for Agentcard's own company alone.
|
|
662
|
+
*
|
|
663
|
+
* `eghl_hosted_payment_page`: eGHL's payment page (ADAPTIS, formerly eGHL, on securepay.e-ghl.com), whose card-free
|
|
664
|
+
* entry (a GET of /IPG/payment.aspx with the payment in its query, which the merchant's checkout or eGHL's Shopify app
|
|
665
|
+
* sends the buyer to) this build pauses for the cardholder's device by its exact URL (hosted-entry.ts), and whose card
|
|
666
|
+
* page's post to the same address this build never lets the agent's browser send (pre-claim.ts, eghl.ts). The entry
|
|
667
|
+
* names its amount, and the API holds the agent's pair to it exactly. Served only to a build that lists it, and the API
|
|
668
|
+
* turns the lane on for Agentcard's own company alone.
|
|
669
|
+
*
|
|
595
670
|
* `paymob_checkout_pay`: the card payment Paymob's own checkout sends, from Unified Checkout
|
|
596
671
|
* (<country>.checkout.paymob.com) or from the Pixel card frame a merchant's page embeds, as JSON to
|
|
597
672
|
* https://<accept|uae|ksa|oman>.paymob.com/api/acceptance/payments/pay. This build pauses only the
|
|
@@ -12,6 +12,19 @@ declare var CybersourceFlexError: {
|
|
|
12
12
|
};
|
|
13
13
|
declare function isVerifiedCaptureContext(value: any): boolean;
|
|
14
14
|
declare function flexHostEnvironment(hostname: any): "production" | "sandbox" | null;
|
|
15
|
+
declare var UNIFIED_CHECKOUT_HOSTS: Readonly<{
|
|
16
|
+
production: "up.cybersource.com";
|
|
17
|
+
sandbox: "testup.cybersource.com";
|
|
18
|
+
}>;
|
|
19
|
+
declare var UNIFIED_CHECKOUT_REVIEWED_CLIENT_VERSIONS: readonly string[];
|
|
20
|
+
declare var UNIFIED_CHECKOUT_FRAMES: readonly string[];
|
|
21
|
+
declare function unifiedCheckoutHostEnvironment(hostname: any): "production" | "sandbox" | null;
|
|
22
|
+
declare function parseUnifiedCheckoutFrame(rawUrl: any): Readonly<{
|
|
23
|
+
environment: "production" | "sandbox";
|
|
24
|
+
frame: string;
|
|
25
|
+
asset: string;
|
|
26
|
+
captureContext: string;
|
|
27
|
+
}> | null;
|
|
15
28
|
declare var CYBERSOURCE_FLEX_PSP: string;
|
|
16
29
|
declare var CYBERSOURCE_FLEX_CONTENT_TYPE: string;
|
|
17
30
|
declare var CYBERSOURCE_FLEX_TOKENS_URLS: Readonly<{
|
|
@@ -38,6 +51,7 @@ declare function verifyCaptureContext(jwt: any, { crypto, now }?: {}): Promise<R
|
|
|
38
51
|
modulusBytes: number;
|
|
39
52
|
index: any;
|
|
40
53
|
contextType: any;
|
|
54
|
+
clientVersion: any;
|
|
41
55
|
allowedCardNetworks: readonly any[] | null;
|
|
42
56
|
targetOrigins: readonly any[];
|
|
43
57
|
iat: any;
|
|
@@ -76,6 +90,29 @@ declare function buildCardPlaintext(verified: any, card: any, { fields, trigger,
|
|
|
76
90
|
trigger?: string | undefined;
|
|
77
91
|
}): string;
|
|
78
92
|
declare function sealForContext(verified: any, plaintext: any, { crypto }?: {}): Promise<string>;
|
|
93
|
+
declare function verifyUnifiedCheckoutContext(jwt: any, { crypto, now }?: {}): Promise<Readonly<{
|
|
94
|
+
raw: any;
|
|
95
|
+
signingKid: any;
|
|
96
|
+
environment: any;
|
|
97
|
+
origin: string;
|
|
98
|
+
path: string;
|
|
99
|
+
url: string;
|
|
100
|
+
jwk: Readonly<{
|
|
101
|
+
kty: "RSA";
|
|
102
|
+
n: any;
|
|
103
|
+
e: any;
|
|
104
|
+
kid: any;
|
|
105
|
+
}>;
|
|
106
|
+
modulusBytes: number;
|
|
107
|
+
index: any;
|
|
108
|
+
contextType: any;
|
|
109
|
+
clientVersion: any;
|
|
110
|
+
allowedCardNetworks: readonly any[] | null;
|
|
111
|
+
targetOrigins: readonly any[];
|
|
112
|
+
iat: any;
|
|
113
|
+
exp: any;
|
|
114
|
+
}>>;
|
|
115
|
+
declare function buildUnifiedCheckoutPlaintext(verified: any, card: any, { billTo, now }?: {}): string;
|
|
79
116
|
declare var CYBERSOURCE_FLEX_REFUSAL_REASONS: readonly string[];
|
|
80
117
|
declare function cybersourceFlexRefusalCode(text: any): string | null;
|
|
81
118
|
declare function isCybersourceFlexTokenShape(text: any): boolean;
|
|
@@ -107,6 +144,7 @@ declare function admitCybersourceFlexPreparation(prepared: any, { crypto, now }?
|
|
|
107
144
|
modulusBytes: number;
|
|
108
145
|
index: any;
|
|
109
146
|
contextType: any;
|
|
147
|
+
clientVersion: any;
|
|
110
148
|
allowedCardNetworks: readonly any[] | null;
|
|
111
149
|
targetOrigins: readonly any[];
|
|
112
150
|
iat: any;
|
|
@@ -115,4 +153,4 @@ declare function admitCybersourceFlexPreparation(prepared: any, { crypto, now }?
|
|
|
115
153
|
fields: readonly string[];
|
|
116
154
|
}>>;
|
|
117
155
|
declare function sameCybersourceFlexPreparation(prepared: any, request: any): boolean;
|
|
118
|
-
export { CYBERSOURCE_FLEX_CAPTURE_CONTEXT_MAX_LENGTH, CYBERSOURCE_FLEX_CONTENT_TYPE, CYBERSOURCE_FLEX_PRESEAL_TRIGGER, CYBERSOURCE_FLEX_PSP, CYBERSOURCE_FLEX_REFUSAL_REASONS, CYBERSOURCE_FLEX_REVIEWED_IFRAME_VERSIONS, CYBERSOURCE_FLEX_RULES_SOURCE, CYBERSOURCE_FLEX_SIGNING_KEYS, CYBERSOURCE_FLEX_TEST_PANS, CYBERSOURCE_FLEX_TOKENS_URLS, CybersourceFlexError, admitCybersourceFlexPreparation, assertCybersourceFlexTemplate, buildCardPlaintext, cybersourceFlexEnvironment, flexHostEnvironment as cybersourceFlexHostEnvironment, cybersourceFlexPreparationUrl, cybersourceFlexRefusalCode, cybersourceFlexTemplateKid, detectCardTypes, isCybersourceFlexMediaType, isCybersourceFlexRequest, isCybersourceFlexTemplateBody, isCybersourceFlexTokenShape, isPreparedCybersourceFlexRequest, isVerifiedCaptureContext, parseMicroformFragment, sameCybersourceFlexPreparation, sealForContext, transientTokenFacts, transientTokenSigned, verifyCaptureContext };
|
|
156
|
+
export { CYBERSOURCE_FLEX_CAPTURE_CONTEXT_MAX_LENGTH, CYBERSOURCE_FLEX_CONTENT_TYPE, CYBERSOURCE_FLEX_PRESEAL_TRIGGER, CYBERSOURCE_FLEX_PSP, CYBERSOURCE_FLEX_REFUSAL_REASONS, CYBERSOURCE_FLEX_REVIEWED_IFRAME_VERSIONS, CYBERSOURCE_FLEX_RULES_SOURCE, CYBERSOURCE_FLEX_SIGNING_KEYS, CYBERSOURCE_FLEX_TEST_PANS, CYBERSOURCE_FLEX_TOKENS_URLS, CybersourceFlexError, UNIFIED_CHECKOUT_FRAMES, UNIFIED_CHECKOUT_HOSTS, UNIFIED_CHECKOUT_REVIEWED_CLIENT_VERSIONS, admitCybersourceFlexPreparation, assertCybersourceFlexTemplate, buildCardPlaintext, buildUnifiedCheckoutPlaintext, cybersourceFlexEnvironment, flexHostEnvironment as cybersourceFlexHostEnvironment, cybersourceFlexPreparationUrl, cybersourceFlexRefusalCode, cybersourceFlexTemplateKid, detectCardTypes, isCybersourceFlexMediaType, isCybersourceFlexRequest, isCybersourceFlexTemplateBody, isCybersourceFlexTokenShape, isPreparedCybersourceFlexRequest, isVerifiedCaptureContext, parseMicroformFragment, parseUnifiedCheckoutFrame, sameCybersourceFlexPreparation, sealForContext, transientTokenFacts, transientTokenSigned, unifiedCheckoutHostEnvironment, verifyCaptureContext, verifyUnifiedCheckoutContext };
|