@agent-cards/sdk 0.23.9 → 0.23.10
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 +40 -0
- package/PREFLIGHT.md +7 -5
- package/README.md +181 -92
- package/dist/aci.d.ts +7 -5
- package/dist/aci.generated.d.ts +2 -1
- package/dist/aci.generated.js +14 -4
- package/dist/aci.js +28 -7
- package/dist/amadeus-checkout.generated.js +2 -2
- package/dist/builtin-registry.generated.js +1 -1
- package/dist/card-fields.generated.js +163 -9
- package/dist/cdp.js +79 -34
- package/dist/client.d.ts +61 -31
- package/dist/client.js +99 -42
- package/dist/creditguard.generated.d.ts +1 -1
- package/dist/creditguard.generated.js +1 -3
- package/dist/cse-body.d.ts +7 -6
- package/dist/cse-body.js +8 -7
- package/dist/datatrans.generated.js +8 -5
- package/dist/elavon-converge.d.ts +1 -1
- package/dist/elavon-converge.generated.js +7 -4
- package/dist/elavon-converge.js +4 -3
- package/dist/fiserv.d.ts +9 -5
- package/dist/fiserv.generated.d.ts +3 -3
- package/dist/fiserv.generated.js +50 -20
- package/dist/fiserv.js +10 -6
- package/dist/payrails.d.ts +78 -18
- package/dist/payrails.generated.d.ts +12 -2
- package/dist/payrails.generated.js +213 -18
- package/dist/payrails.js +165 -44
- package/dist/pre-claim.js +51 -29
- package/dist/preflight-capabilities.generated.d.ts +0 -106
- package/dist/preflight-capabilities.generated.js +0 -153
- package/dist/preflight-catalog.json +61 -181
- package/dist/preflight-schemas.json +6 -6
- package/dist/preflight.generated.d.ts +0 -106
- package/dist/preflight.generated.js +27 -15
- package/dist/preparation.d.ts +2 -0
- package/dist/preparation.js +4 -2
- package/dist/prepared-processor.d.ts +19 -5
- package/dist/prepared-processor.js +21 -5
- package/dist/primer.generated.d.ts +5 -1
- package/dist/primer.generated.js +200 -33
- package/dist/registry.d.ts +18 -12
- package/dist/registry.js +11 -8
- package/dist/shiji-sts.d.ts +24 -22
- package/dist/shiji-sts.generated.d.ts +1 -1
- package/dist/shiji-sts.generated.js +12 -8
- package/dist/shiji-sts.js +49 -46
- package/dist/stripe-checkout.generated.js +146 -49
- package/dist/verifone.generated.js +192 -17
- package/dist/verifone.js +1 -1
- package/dist/wspay.d.ts +17 -16
- package/dist/wspay.generated.d.ts +6 -1
- package/dist/wspay.generated.js +13 -3
- package/dist/wspay.js +9 -11
- package/examples/preflight/kernel-native/README.md +1 -1
- package/examples/preflight/kernel-native/inventory.json +1 -19
- package/package.json +3 -3
|
@@ -95,10 +95,6 @@
|
|
|
95
95
|
"psp": "recurly",
|
|
96
96
|
"detection": "reviewed_rules"
|
|
97
97
|
},
|
|
98
|
-
{
|
|
99
|
-
"psp": "moneris",
|
|
100
|
-
"detection": "reviewed_rules"
|
|
101
|
-
},
|
|
102
98
|
{
|
|
103
99
|
"psp": "bambora",
|
|
104
100
|
"detection": "reviewed_rules"
|
|
@@ -106,10 +102,6 @@
|
|
|
106
102
|
{
|
|
107
103
|
"psp": "global_payments",
|
|
108
104
|
"detection": "reviewed_rules"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"psp": "gravy",
|
|
112
|
-
"detection": "reviewed_rules"
|
|
113
105
|
}
|
|
114
106
|
],
|
|
115
107
|
"rules": [
|
|
@@ -2108,16 +2100,21 @@
|
|
|
2108
2100
|
"script"
|
|
2109
2101
|
],
|
|
2110
2102
|
"origin": "https://cdn.:merchant.gr4vy.app",
|
|
2111
|
-
"path_pattern": "/secure-fields.js",
|
|
2103
|
+
"path_pattern": "/secure-fields/{latest,:version}/secure-fields.js",
|
|
2112
2104
|
"sources": [
|
|
2113
2105
|
{
|
|
2114
2106
|
"kind": "primary_source",
|
|
2115
|
-
"reference": "https://docs.gr4vy.com/guides/payments/secure-fields",
|
|
2116
|
-
"reviewed_on": "2026-
|
|
2107
|
+
"reference": "https://docs.gr4vy.com/guides/payments/secure-fields/quick-start/embed",
|
|
2108
|
+
"reviewed_on": "2026-10-10"
|
|
2109
|
+
},
|
|
2110
|
+
{
|
|
2111
|
+
"kind": "primary_source",
|
|
2112
|
+
"reference": "https://cdn.trek.gr4vy.app/secure-fields/latest/secure-fields.js",
|
|
2113
|
+
"reviewed_on": "2026-10-10"
|
|
2117
2114
|
}
|
|
2118
2115
|
],
|
|
2119
2116
|
"hostname_pattern": "^cdn\\.[a-z0-9-]+\\.gr4vy\\.app$",
|
|
2120
|
-
"pathname_pattern": "^\\/secure-fields\\.js$"
|
|
2117
|
+
"pathname_pattern": "^\\/secure-fields\\/(?:latest|[0-9]{1,3}(?:\\.[0-9]{1,3}){0,2})\\/secure-fields\\.js$"
|
|
2121
2118
|
},
|
|
2122
2119
|
{
|
|
2123
2120
|
"id": "gravy-secure-fields-script-sandbox",
|
|
@@ -2126,16 +2123,21 @@
|
|
|
2126
2123
|
"script"
|
|
2127
2124
|
],
|
|
2128
2125
|
"origin": "https://cdn.sandbox.:merchant.gr4vy.app",
|
|
2129
|
-
"path_pattern": "/secure-fields.js",
|
|
2126
|
+
"path_pattern": "/secure-fields/{latest,:version}/secure-fields.js",
|
|
2130
2127
|
"sources": [
|
|
2131
2128
|
{
|
|
2132
2129
|
"kind": "primary_source",
|
|
2133
|
-
"reference": "https://docs.gr4vy.com/guides/payments/secure-fields",
|
|
2134
|
-
"reviewed_on": "2026-
|
|
2130
|
+
"reference": "https://docs.gr4vy.com/guides/payments/secure-fields/quick-start/embed",
|
|
2131
|
+
"reviewed_on": "2026-10-10"
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
"kind": "primary_source",
|
|
2135
|
+
"reference": "https://cdn.trek.gr4vy.app/secure-fields/latest/secure-fields.js",
|
|
2136
|
+
"reviewed_on": "2026-10-10"
|
|
2135
2137
|
}
|
|
2136
2138
|
],
|
|
2137
2139
|
"hostname_pattern": "^cdn\\.sandbox\\.[a-z0-9-]+\\.gr4vy\\.app$",
|
|
2138
|
-
"pathname_pattern": "^\\/secure-fields\\.js$"
|
|
2140
|
+
"pathname_pattern": "^\\/secure-fields\\/(?:latest|[0-9]{1,3}(?:\\.[0-9]{1,3}){0,2})\\/secure-fields\\.js$"
|
|
2139
2141
|
},
|
|
2140
2142
|
{
|
|
2141
2143
|
"id": "paypal-hosted-fields-payments-sdk",
|
|
@@ -4903,6 +4905,49 @@
|
|
|
4903
4905
|
"hostname_pattern": "^api\\.demo\\.convergepay\\.com$",
|
|
4904
4906
|
"pathname_pattern": "^\\/hosted-payments\\/(?:Checkout|PayWithConverge)\\.js$"
|
|
4905
4907
|
},
|
|
4908
|
+
{
|
|
4909
|
+
"id": "elavon-converge-hosted-payment-page-www",
|
|
4910
|
+
"psp": "elavon_converge",
|
|
4911
|
+
"kinds": [
|
|
4912
|
+
"document",
|
|
4913
|
+
"frame",
|
|
4914
|
+
"iframe"
|
|
4915
|
+
],
|
|
4916
|
+
"origin": "https://www.convergepay.com",
|
|
4917
|
+
"path_pattern": "/hosted-payments/",
|
|
4918
|
+
"sources": [
|
|
4919
|
+
{
|
|
4920
|
+
"kind": "primary_source",
|
|
4921
|
+
"reference": "https://api.convergepay.com/hosted-payments/",
|
|
4922
|
+
"reviewed_on": "2026-09-25"
|
|
4923
|
+
},
|
|
4924
|
+
{
|
|
4925
|
+
"kind": "primary_source",
|
|
4926
|
+
"reference": "https://developer.elavon.com/products/hosted-payment-page/v1/take-a-payment",
|
|
4927
|
+
"reviewed_on": "2026-09-25"
|
|
4928
|
+
}
|
|
4929
|
+
],
|
|
4930
|
+
"hostname_pattern": "^www\\.convergepay\\.com$",
|
|
4931
|
+
"pathname_pattern": "^\\/hosted-payments\\/$"
|
|
4932
|
+
},
|
|
4933
|
+
{
|
|
4934
|
+
"id": "elavon-converge-hpp-bundle-www",
|
|
4935
|
+
"psp": "elavon_converge",
|
|
4936
|
+
"kinds": [
|
|
4937
|
+
"script"
|
|
4938
|
+
],
|
|
4939
|
+
"origin": "https://www.convergepay.com",
|
|
4940
|
+
"path_pattern": "/hosted-payments/assets/hpp-:version.js",
|
|
4941
|
+
"sources": [
|
|
4942
|
+
{
|
|
4943
|
+
"kind": "primary_source",
|
|
4944
|
+
"reference": "https://api.convergepay.com/hosted-payments/assets/hpp-2.505.07.js",
|
|
4945
|
+
"reviewed_on": "2026-09-25"
|
|
4946
|
+
}
|
|
4947
|
+
],
|
|
4948
|
+
"hostname_pattern": "^www\\.convergepay\\.com$",
|
|
4949
|
+
"pathname_pattern": "^\\/hosted-payments\\/assets\\/hpp-[0-9]+\\.[0-9]+\\.[0-9]+\\.js$"
|
|
4950
|
+
},
|
|
4906
4951
|
{
|
|
4907
4952
|
"id": "wspay-components-script-test",
|
|
4908
4953
|
"psp": "wspay",
|
|
@@ -6705,81 +6750,6 @@
|
|
|
6705
6750
|
"src/backend.js"
|
|
6706
6751
|
]
|
|
6707
6752
|
},
|
|
6708
|
-
{
|
|
6709
|
-
"psp": "moneris",
|
|
6710
|
-
"status": "supported",
|
|
6711
|
-
"mode": "token",
|
|
6712
|
-
"operations": [
|
|
6713
|
-
{
|
|
6714
|
-
"id": "moneris.card_request",
|
|
6715
|
-
"effect": "processor_specific_card_request",
|
|
6716
|
-
"amount_binding": "unestablished",
|
|
6717
|
-
"psp": "moneris",
|
|
6718
|
-
"version": 1,
|
|
6719
|
-
"mode": "token",
|
|
6720
|
-
"autopilot_eligible": false,
|
|
6721
|
-
"requires": "reviewed_final_payment_and_continuation_evidence"
|
|
6722
|
-
}
|
|
6723
|
-
],
|
|
6724
|
-
"scenarios": {
|
|
6725
|
-
"one_time": {
|
|
6726
|
-
"status": "supported",
|
|
6727
|
-
"reason": "card_request_adapter_implemented",
|
|
6728
|
-
"requirements": [
|
|
6729
|
-
"actual_payment_request_validation",
|
|
6730
|
-
"merchant_confirmation"
|
|
6731
|
-
]
|
|
6732
|
-
},
|
|
6733
|
-
"save_card": {
|
|
6734
|
-
"status": "conditional",
|
|
6735
|
-
"reason": "merchant_card_storage_and_consent_required",
|
|
6736
|
-
"requirements": [
|
|
6737
|
-
"actual_payment_request_validation",
|
|
6738
|
-
"merchant_confirmation",
|
|
6739
|
-
"stored_card_consent",
|
|
6740
|
-
"merchant_card_saved"
|
|
6741
|
-
]
|
|
6742
|
-
},
|
|
6743
|
-
"subscription_initial": {
|
|
6744
|
-
"status": "conditional",
|
|
6745
|
-
"reason": "merchant_card_storage_and_consent_required",
|
|
6746
|
-
"requirements": [
|
|
6747
|
-
"actual_payment_request_validation",
|
|
6748
|
-
"merchant_confirmation",
|
|
6749
|
-
"stored_card_consent",
|
|
6750
|
-
"merchant_subscription_confirmation"
|
|
6751
|
-
]
|
|
6752
|
-
},
|
|
6753
|
-
"subscription_renewal": {
|
|
6754
|
-
"status": "outside_vault",
|
|
6755
|
-
"reason": "renewal_managed_by_merchant",
|
|
6756
|
-
"requirements": [
|
|
6757
|
-
"verify_merchant_billing"
|
|
6758
|
-
]
|
|
6759
|
-
}
|
|
6760
|
-
},
|
|
6761
|
-
"limitations": [
|
|
6762
|
-
"Only the listed request format is recognized; a recognized processor is not verified merchant coverage.",
|
|
6763
|
-
"The implemented integration is Moneris Hosted Tokenization."
|
|
6764
|
-
],
|
|
6765
|
-
"unsupported_variants": [
|
|
6766
|
-
{
|
|
6767
|
-
"variant": "moneris_checkout_chkt",
|
|
6768
|
-
"status": "unsupported",
|
|
6769
|
-
"constraint": "direct_sdk",
|
|
6770
|
-
"reason": "Moneris Checkout uses a different path from Hosted Tokenization and is not implemented."
|
|
6771
|
-
}
|
|
6772
|
-
],
|
|
6773
|
-
"processor_amount": "none",
|
|
6774
|
-
"challenge_surface": "merchant_browser",
|
|
6775
|
-
"merchant_confirmation_required": true,
|
|
6776
|
-
"live_validation": "not_established_by_catalog",
|
|
6777
|
-
"sources": [
|
|
6778
|
-
"src/definitions.js",
|
|
6779
|
-
"src/operations.js",
|
|
6780
|
-
"src/backend.js"
|
|
6781
|
-
]
|
|
6782
|
-
},
|
|
6783
6753
|
{
|
|
6784
6754
|
"psp": "bambora",
|
|
6785
6755
|
"status": "supported",
|
|
@@ -6922,84 +6892,6 @@
|
|
|
6922
6892
|
"src/operations.js",
|
|
6923
6893
|
"src/backend.js"
|
|
6924
6894
|
]
|
|
6925
|
-
},
|
|
6926
|
-
{
|
|
6927
|
-
"psp": "gravy",
|
|
6928
|
-
"status": "unsupported",
|
|
6929
|
-
"mode": "token",
|
|
6930
|
-
"operations": [
|
|
6931
|
-
{
|
|
6932
|
-
"id": "gravy.card_request",
|
|
6933
|
-
"effect": "processor_specific_card_request",
|
|
6934
|
-
"amount_binding": "unestablished",
|
|
6935
|
-
"psp": "gravy",
|
|
6936
|
-
"version": 1,
|
|
6937
|
-
"mode": "token",
|
|
6938
|
-
"autopilot_eligible": false,
|
|
6939
|
-
"requires": "reviewed_final_payment_and_continuation_evidence"
|
|
6940
|
-
}
|
|
6941
|
-
],
|
|
6942
|
-
"scenarios": {
|
|
6943
|
-
"one_time": {
|
|
6944
|
-
"status": "unsupported",
|
|
6945
|
-
"reason": "request_method_not_supported",
|
|
6946
|
-
"requirements": []
|
|
6947
|
-
},
|
|
6948
|
-
"save_card": {
|
|
6949
|
-
"status": "unsupported",
|
|
6950
|
-
"reason": "request_method_not_supported",
|
|
6951
|
-
"requirements": []
|
|
6952
|
-
},
|
|
6953
|
-
"subscription_initial": {
|
|
6954
|
-
"status": "unsupported",
|
|
6955
|
-
"reason": "request_method_not_supported",
|
|
6956
|
-
"requirements": []
|
|
6957
|
-
},
|
|
6958
|
-
"subscription_renewal": {
|
|
6959
|
-
"status": "outside_vault",
|
|
6960
|
-
"reason": "renewal_managed_by_merchant",
|
|
6961
|
-
"requirements": [
|
|
6962
|
-
"verify_merchant_billing"
|
|
6963
|
-
]
|
|
6964
|
-
}
|
|
6965
|
-
},
|
|
6966
|
-
"limitations": [
|
|
6967
|
-
"Only the listed request format is recognized; a recognized processor is not verified merchant coverage.",
|
|
6968
|
-
"The adapter covers the Secure Fields new-card request that updates a Gravy checkout session on the merchant's own api.<merchant>.gr4vy.app host, in sandbox and production.",
|
|
6969
|
-
"Gravy publishes this request as an HTTP PUT. The SDK and the shared core pause POST requests only, so the recognizer identifies and fills the request but intercepts nothing, and the direct SDK reports Gravy unsupported until a recognizer can declare its method.",
|
|
6970
|
-
"The request shape follows Gravy's published Secure Fields contract and has not been confirmed by a capture from a live merchant form.",
|
|
6971
|
-
"Updating the session stores the card with Gravy; the merchant creates the transaction from the session on its own server, so a completed request is not a payment."
|
|
6972
|
-
],
|
|
6973
|
-
"unsupported_variants": [
|
|
6974
|
-
{
|
|
6975
|
-
"variant": "embed_hosted_checkout",
|
|
6976
|
-
"status": "unsupported",
|
|
6977
|
-
"constraint": "direct_sdk",
|
|
6978
|
-
"reason": "Gravy Embed renders its own form in a frame on embed.<merchant>.gr4vy.app and is outside the Secure Fields request path."
|
|
6979
|
-
},
|
|
6980
|
-
{
|
|
6981
|
-
"variant": "stored_payment_method_or_security_code_only",
|
|
6982
|
-
"status": "unsupported",
|
|
6983
|
-
"constraint": "direct_sdk",
|
|
6984
|
-
"reason": "Saved payment methods and security-code-only updates are outside new-card session updates."
|
|
6985
|
-
},
|
|
6986
|
-
{
|
|
6987
|
-
"variant": "checkout_session_create_or_transaction",
|
|
6988
|
-
"status": "unsupported",
|
|
6989
|
-
"constraint": "direct_sdk",
|
|
6990
|
-
"reason": "Creating the session and creating the transaction happen on the merchant server and carry no card from the browser."
|
|
6991
|
-
}
|
|
6992
|
-
],
|
|
6993
|
-
"processor_amount": "none",
|
|
6994
|
-
"challenge_surface": "merchant_browser",
|
|
6995
|
-
"merchant_confirmation_required": true,
|
|
6996
|
-
"live_validation": "not_established_by_catalog",
|
|
6997
|
-
"sources": [
|
|
6998
|
-
"src/definitions.js",
|
|
6999
|
-
"src/operations.js",
|
|
7000
|
-
"src/backend.js",
|
|
7001
|
-
"test/fixtures/gravy-secure-fields.json"
|
|
7002
|
-
]
|
|
7003
6895
|
}
|
|
7004
6896
|
],
|
|
7005
6897
|
"exclusions": [
|
|
@@ -7180,12 +7072,6 @@
|
|
|
7180
7072
|
"scenario": "one_time",
|
|
7181
7073
|
"status": "supported"
|
|
7182
7074
|
},
|
|
7183
|
-
{
|
|
7184
|
-
"psp": "moneris",
|
|
7185
|
-
"mode": "token",
|
|
7186
|
-
"scenario": "one_time",
|
|
7187
|
-
"status": "supported"
|
|
7188
|
-
},
|
|
7189
7075
|
{
|
|
7190
7076
|
"psp": "bambora",
|
|
7191
7077
|
"mode": "token",
|
|
@@ -7197,12 +7083,6 @@
|
|
|
7197
7083
|
"mode": "token",
|
|
7198
7084
|
"scenario": "one_time",
|
|
7199
7085
|
"status": "supported"
|
|
7200
|
-
},
|
|
7201
|
-
{
|
|
7202
|
-
"psp": "gravy",
|
|
7203
|
-
"mode": "token",
|
|
7204
|
-
"scenario": "one_time",
|
|
7205
|
-
"status": "unsupported"
|
|
7206
7086
|
}
|
|
7207
7087
|
],
|
|
7208
7088
|
"entries": [
|
|
@@ -230,10 +230,8 @@
|
|
|
230
230
|
"mollie",
|
|
231
231
|
"paysafe",
|
|
232
232
|
"recurly",
|
|
233
|
-
"moneris",
|
|
234
233
|
"bambora",
|
|
235
|
-
"global_payments"
|
|
236
|
-
"gravy"
|
|
234
|
+
"global_payments"
|
|
237
235
|
]
|
|
238
236
|
},
|
|
239
237
|
"mode": {
|
|
@@ -585,6 +583,8 @@
|
|
|
585
583
|
"elavon-converge-hpp-bundle-demo",
|
|
586
584
|
"elavon-converge-lightbox-demo",
|
|
587
585
|
"elavon-converge-checkout-js-demo",
|
|
586
|
+
"elavon-converge-hosted-payment-page-www",
|
|
587
|
+
"elavon-converge-hpp-bundle-www",
|
|
588
588
|
"wspay-components-script-test",
|
|
589
589
|
"wspay-components-card-frame-test",
|
|
590
590
|
"wspay-form-hosted-page-test",
|
|
@@ -754,10 +754,8 @@
|
|
|
754
754
|
"mollie",
|
|
755
755
|
"paysafe",
|
|
756
756
|
"recurly",
|
|
757
|
-
"moneris",
|
|
758
757
|
"bambora",
|
|
759
|
-
"global_payments"
|
|
760
|
-
"gravy"
|
|
758
|
+
"global_payments"
|
|
761
759
|
]
|
|
762
760
|
},
|
|
763
761
|
"mode": {
|
|
@@ -1219,6 +1217,8 @@
|
|
|
1219
1217
|
"elavon-converge-hpp-bundle-demo",
|
|
1220
1218
|
"elavon-converge-lightbox-demo",
|
|
1221
1219
|
"elavon-converge-checkout-js-demo",
|
|
1220
|
+
"elavon-converge-hosted-payment-page-www",
|
|
1221
|
+
"elavon-converge-hpp-bundle-www",
|
|
1222
1222
|
"wspay-components-script-test",
|
|
1223
1223
|
"wspay-components-card-frame-test",
|
|
1224
1224
|
"wspay-form-hosted-page-test",
|
|
@@ -1244,54 +1244,6 @@ export declare function getCheckoutPreflightCatalog(): {
|
|
|
1244
1244
|
readonly merchant_confirmation_required: true;
|
|
1245
1245
|
readonly live_validation: "not_established_by_catalog";
|
|
1246
1246
|
readonly sources: readonly ["src/definitions.js", "src/operations.js", "src/backend.js"];
|
|
1247
|
-
}, {
|
|
1248
|
-
readonly psp: "moneris";
|
|
1249
|
-
readonly status: "supported";
|
|
1250
|
-
readonly mode: "token";
|
|
1251
|
-
readonly operations: readonly [{
|
|
1252
|
-
readonly id: "moneris.card_request";
|
|
1253
|
-
readonly effect: "processor_specific_card_request";
|
|
1254
|
-
readonly amount_binding: "unestablished";
|
|
1255
|
-
readonly psp: "moneris";
|
|
1256
|
-
readonly version: 1;
|
|
1257
|
-
readonly mode: "token";
|
|
1258
|
-
readonly autopilot_eligible: false;
|
|
1259
|
-
readonly requires: "reviewed_final_payment_and_continuation_evidence";
|
|
1260
|
-
}];
|
|
1261
|
-
readonly scenarios: {
|
|
1262
|
-
readonly one_time: {
|
|
1263
|
-
readonly status: "supported";
|
|
1264
|
-
readonly reason: "card_request_adapter_implemented";
|
|
1265
|
-
readonly requirements: readonly ["actual_payment_request_validation", "merchant_confirmation"];
|
|
1266
|
-
};
|
|
1267
|
-
readonly save_card: {
|
|
1268
|
-
readonly status: "conditional";
|
|
1269
|
-
readonly reason: "merchant_card_storage_and_consent_required";
|
|
1270
|
-
readonly requirements: readonly ["actual_payment_request_validation", "merchant_confirmation", "stored_card_consent", "merchant_card_saved"];
|
|
1271
|
-
};
|
|
1272
|
-
readonly subscription_initial: {
|
|
1273
|
-
readonly status: "conditional";
|
|
1274
|
-
readonly reason: "merchant_card_storage_and_consent_required";
|
|
1275
|
-
readonly requirements: readonly ["actual_payment_request_validation", "merchant_confirmation", "stored_card_consent", "merchant_subscription_confirmation"];
|
|
1276
|
-
};
|
|
1277
|
-
readonly subscription_renewal: {
|
|
1278
|
-
readonly status: "outside_vault";
|
|
1279
|
-
readonly reason: "renewal_managed_by_merchant";
|
|
1280
|
-
readonly requirements: readonly ["verify_merchant_billing"];
|
|
1281
|
-
};
|
|
1282
|
-
};
|
|
1283
|
-
readonly limitations: readonly ["Only the listed request format is recognized; a recognized processor is not verified merchant coverage.", "The implemented integration is Moneris Hosted Tokenization."];
|
|
1284
|
-
readonly unsupported_variants: readonly [{
|
|
1285
|
-
readonly variant: "moneris_checkout_chkt";
|
|
1286
|
-
readonly status: "unsupported";
|
|
1287
|
-
readonly constraint: "direct_sdk";
|
|
1288
|
-
readonly reason: "Moneris Checkout uses a different path from Hosted Tokenization and is not implemented.";
|
|
1289
|
-
}];
|
|
1290
|
-
readonly processor_amount: "none";
|
|
1291
|
-
readonly challenge_surface: "merchant_browser";
|
|
1292
|
-
readonly merchant_confirmation_required: true;
|
|
1293
|
-
readonly live_validation: "not_established_by_catalog";
|
|
1294
|
-
readonly sources: readonly ["src/definitions.js", "src/operations.js", "src/backend.js"];
|
|
1295
1247
|
}, {
|
|
1296
1248
|
readonly psp: "bambora";
|
|
1297
1249
|
readonly status: "supported";
|
|
@@ -1383,64 +1335,6 @@ export declare function getCheckoutPreflightCatalog(): {
|
|
|
1383
1335
|
readonly merchant_confirmation_required: true;
|
|
1384
1336
|
readonly live_validation: "not_established_by_catalog";
|
|
1385
1337
|
readonly sources: readonly ["src/definitions.js", "src/operations.js", "src/backend.js"];
|
|
1386
|
-
}, {
|
|
1387
|
-
readonly psp: "gravy";
|
|
1388
|
-
readonly status: "unsupported";
|
|
1389
|
-
readonly mode: "token";
|
|
1390
|
-
readonly operations: readonly [{
|
|
1391
|
-
readonly id: "gravy.card_request";
|
|
1392
|
-
readonly effect: "processor_specific_card_request";
|
|
1393
|
-
readonly amount_binding: "unestablished";
|
|
1394
|
-
readonly psp: "gravy";
|
|
1395
|
-
readonly version: 1;
|
|
1396
|
-
readonly mode: "token";
|
|
1397
|
-
readonly autopilot_eligible: false;
|
|
1398
|
-
readonly requires: "reviewed_final_payment_and_continuation_evidence";
|
|
1399
|
-
}];
|
|
1400
|
-
readonly scenarios: {
|
|
1401
|
-
readonly one_time: {
|
|
1402
|
-
readonly status: "unsupported";
|
|
1403
|
-
readonly reason: "request_method_not_supported";
|
|
1404
|
-
readonly requirements: readonly [];
|
|
1405
|
-
};
|
|
1406
|
-
readonly save_card: {
|
|
1407
|
-
readonly status: "unsupported";
|
|
1408
|
-
readonly reason: "request_method_not_supported";
|
|
1409
|
-
readonly requirements: readonly [];
|
|
1410
|
-
};
|
|
1411
|
-
readonly subscription_initial: {
|
|
1412
|
-
readonly status: "unsupported";
|
|
1413
|
-
readonly reason: "request_method_not_supported";
|
|
1414
|
-
readonly requirements: readonly [];
|
|
1415
|
-
};
|
|
1416
|
-
readonly subscription_renewal: {
|
|
1417
|
-
readonly status: "outside_vault";
|
|
1418
|
-
readonly reason: "renewal_managed_by_merchant";
|
|
1419
|
-
readonly requirements: readonly ["verify_merchant_billing"];
|
|
1420
|
-
};
|
|
1421
|
-
};
|
|
1422
|
-
readonly limitations: readonly ["Only the listed request format is recognized; a recognized processor is not verified merchant coverage.", "The adapter covers the Secure Fields new-card request that updates a Gravy checkout session on the merchant's own api.<merchant>.gr4vy.app host, in sandbox and production.", "Gravy publishes this request as an HTTP PUT. The SDK and the shared core pause POST requests only, so the recognizer identifies and fills the request but intercepts nothing, and the direct SDK reports Gravy unsupported until a recognizer can declare its method.", "The request shape follows Gravy's published Secure Fields contract and has not been confirmed by a capture from a live merchant form.", "Updating the session stores the card with Gravy; the merchant creates the transaction from the session on its own server, so a completed request is not a payment."];
|
|
1423
|
-
readonly unsupported_variants: readonly [{
|
|
1424
|
-
readonly variant: "embed_hosted_checkout";
|
|
1425
|
-
readonly status: "unsupported";
|
|
1426
|
-
readonly constraint: "direct_sdk";
|
|
1427
|
-
readonly reason: "Gravy Embed renders its own form in a frame on embed.<merchant>.gr4vy.app and is outside the Secure Fields request path.";
|
|
1428
|
-
}, {
|
|
1429
|
-
readonly variant: "stored_payment_method_or_security_code_only";
|
|
1430
|
-
readonly status: "unsupported";
|
|
1431
|
-
readonly constraint: "direct_sdk";
|
|
1432
|
-
readonly reason: "Saved payment methods and security-code-only updates are outside new-card session updates.";
|
|
1433
|
-
}, {
|
|
1434
|
-
readonly variant: "checkout_session_create_or_transaction";
|
|
1435
|
-
readonly status: "unsupported";
|
|
1436
|
-
readonly constraint: "direct_sdk";
|
|
1437
|
-
readonly reason: "Creating the session and creating the transaction happen on the merchant server and carry no card from the browser.";
|
|
1438
|
-
}];
|
|
1439
|
-
readonly processor_amount: "none";
|
|
1440
|
-
readonly challenge_surface: "merchant_browser";
|
|
1441
|
-
readonly merchant_confirmation_required: true;
|
|
1442
|
-
readonly live_validation: "not_established_by_catalog";
|
|
1443
|
-
readonly sources: readonly ["src/definitions.js", "src/operations.js", "src/backend.js", "test/fixtures/gravy-secure-fields.json"];
|
|
1444
1338
|
}];
|
|
1445
1339
|
exclusions: readonly [{
|
|
1446
1340
|
readonly psp: "vgs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Generated from @agent-cards/payment-core. Do not edit.
|
|
2
|
-
// source-sha256:
|
|
2
|
+
// source-sha256: f0596389845388a1c6150964e576c420abb0b44a805347e4ba4d0617f3b8ea2b
|
|
3
3
|
import { CHECKOUT_PREFLIGHT_CAPABILITIES } from './preflight-capabilities.generated.js';
|
|
4
4
|
/** Advisory page discovery. These rules never admit a payment destination. */
|
|
5
5
|
export const CHECKOUT_PREFLIGHT_VERSION = '1';
|
|
@@ -39,6 +39,12 @@ RULES.push({ "id": "checkout-frames-v2-script", "psp": "checkout_com", "kinds":
|
|
|
39
39
|
// stays unknown through `variant_unverified`; no entry here expands a recognized card destination.
|
|
40
40
|
const documented = (reference) => ({ kind: 'primary_source', reference, reviewed_on: '2026-09-15' });
|
|
41
41
|
const observed = (reference) => ({ kind: 'partner_observation', reference: `kernel-discovery-2026-09-14:${reference}`, reviewed_on: '2026-09-15' });
|
|
42
|
+
// Gravy's Secure Fields loader, read from Gravy's guide and from two live merchants on 2026-10-10.
|
|
43
|
+
const GRAVY_SECURE_FIELDS_SCRIPT = /^\/secure-fields\/(?:latest|[0-9]{1,3}(?:\.[0-9]{1,3}){0,2})\/secure-fields\.js$/;
|
|
44
|
+
const GRAVY_SOURCES = [
|
|
45
|
+
{ kind: 'primary_source', reference: 'https://docs.gr4vy.com/guides/payments/secure-fields/quick-start/embed', reviewed_on: '2026-10-10' },
|
|
46
|
+
{ kind: 'primary_source', reference: 'https://cdn.trek.gr4vy.app/secure-fields/latest/secure-fields.js', reviewed_on: '2026-10-10' },
|
|
47
|
+
];
|
|
42
48
|
RULES.push({ id: 'tranzila-terminal-hosted-page', psp: 'tranzila', kinds: ['document', 'frame', 'iframe', 'form'], hostname: /^direct\.tranzila\.com$/, pathname: /^\/(?!process(?:\/|$)|done(?:\/|$))[A-Za-z0-9_-]+\/?$/, origin: 'https://direct.tranzila.com', path_pattern: '/:terminal/',
|
|
43
49
|
sources: [documented('https://docs.tranzila.com/docs/payments-and-billing/hosted-payment-page'), observed('tranzila-terminal-root-hosted-page')],
|
|
44
50
|
variant_unverified: 'The implemented Tranzila hosted form covers direct.tranzila.com/:terminal/iframenew.php; a terminal-root hosted payment page is not admitted.' }, { id: 'square-card-element-frame', psp: 'square', kinds: ['frame', 'iframe'], hostname: /^web\.squarecdn\.com$/, pathname: /^\/[0-9]+\.[0-9]+\.[0-9]+\/single-card-element-iframe\.html$/, origin: 'https://web.squarecdn.com', path_pattern: '/:version/single-card-element-iframe.html',
|
|
@@ -52,15 +58,17 @@ RULES.push({ id: 'tranzila-terminal-hosted-page', psp: 'tranzila', kinds: ['docu
|
|
|
52
58
|
sources: [documented('https://docs.dlocal.com/docs/set-up-smart-fields'), observed('dlocal-smart-fields-6.8.3')] }, { id: 'mercado-pago-secure-fields-frame', psp: 'mercado_pago', kinds: ['frame', 'iframe', 'document'], hostname: /^secure-fields\.mercadopago\.com$/, pathname: /^\/$/, origin: 'https://secure-fields.mercadopago.com', path_pattern: '/',
|
|
53
59
|
sources: [documented('https://sdk.mercadopago.com/js/v2'), observed('mercado-pago-secure-fields-frames')] }, { id: 'mercado-pago-checkout-pro-card-form', psp: 'mercado_pago', kinds: ['document', 'frame', 'iframe'], hostname: /^www\.mercadopago\.com\.ar$/, pathname: /^\/checkout\/v1\/payment\/redirect\/[^/]+\/card-form\/?$/, origin: 'https://www.mercadopago.com.ar', path_pattern: '/checkout/v1/payment/redirect/:preference/card-form/',
|
|
54
60
|
sources: [documented('https://www.mercadopago.com.ar/developers/es/docs/checkout-pro/landing'), observed('mercado-pago-checkout-pro-guest-card-form')] },
|
|
55
|
-
// Gravy (Gr4vy) Secure Fields: the merchant page loads secure-fields.js
|
|
56
|
-
// merchant's own CDN host, cdn.<merchant>.gr4vy.app, or cdn.sandbox.<merchant>.gr4vy.app
|
|
57
|
-
// in test
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
// Gravy (Gr4vy) Secure Fields: the merchant page loads /secure-fields/latest/secure-fields.js
|
|
62
|
+
// from the merchant's own CDN host, cdn.<merchant>.gr4vy.app, or cdn.sandbox.<merchant>.gr4vy.app
|
|
63
|
+
// in test, as Gravy's guide writes it and as Trek Bicycle and the Wikimedia Foundation load it
|
|
64
|
+
// (read 2026-10-10); /secure-fields.js at the root answers 404 on every instance checked. A
|
|
65
|
+
// numbered directory in place of `latest` is admitted too. The bounded merchant label mirrors
|
|
66
|
+
// the recognizer's api.<merchant> hosts and the VGS tenant rule above; gr4vy.app is Gravy's own
|
|
67
|
+
// domain, so no third party can stand up a host that satisfies it. Gravy ships dark, so these
|
|
68
|
+
// signals name gravy and the result stays unknown.
|
|
69
|
+
{ id: 'gravy-secure-fields-script', psp: 'gravy', kinds: ['script'], hostname: /^cdn\.[a-z0-9-]+\.gr4vy\.app$/, pathname: GRAVY_SECURE_FIELDS_SCRIPT, origin: 'https://cdn.:merchant.gr4vy.app', path_pattern: '/secure-fields/{latest,:version}/secure-fields.js',
|
|
70
|
+
sources: GRAVY_SOURCES }, { id: 'gravy-secure-fields-script-sandbox', psp: 'gravy', kinds: ['script'], hostname: /^cdn\.sandbox\.[a-z0-9-]+\.gr4vy\.app$/, pathname: GRAVY_SECURE_FIELDS_SCRIPT, origin: 'https://cdn.sandbox.:merchant.gr4vy.app', path_pattern: '/secure-fields/{latest,:version}/secure-fields.js',
|
|
71
|
+
sources: GRAVY_SOURCES });
|
|
64
72
|
// PayPal's legacy Hosted Fields (its JS SDK's components=hosted-fields), reviewed 2026-10-07 from Planet Golf
|
|
65
73
|
// UK's payment step (read live 2026-10-06, SDK 5.0.580) and the two frame files it loads. The SDK renders each
|
|
66
74
|
// card field as braintree-web's 3.32.0-payments-sdk-dev hosted-fields-input-frame.min.html (sha256
|
|
@@ -212,7 +220,7 @@ RULES.push({ id: 'payrails-web-sdk-v6-script', psp: 'payrails', kinds: ['script'
|
|
|
212
220
|
sources: [payrailsSource('https://assets.payrails.io/web-sdk/v6/payrails.js'), payrailsSource('https://www.npmjs.com/package/@payrails/web-sdk/v/6.5.0')] }, { id: 'payrails-secure-frame-v6', psp: 'payrails', kinds: ['frame', 'iframe', 'document'], hostname: /^assets\.payrails\.io$/, pathname: /^\/apps\/secure-frame\/(?:v6|6\.[0-9]+\.[0-9]+)\/index\.html$/, origin: 'https://assets.payrails.io', path_pattern: '/apps/secure-frame/{v6,6.:minor.:patch}/index.html',
|
|
213
221
|
sources: [payrailsSource('https://assets.payrails.io/apps/secure-frame/v6/index.html'), payrailsSource('https://docs.payrails.com/docs/secure-fields')] });
|
|
214
222
|
// Elavon Converge Hosted Payment Page (NY DMV), reviewed from Converge's own page shell and bundle
|
|
215
|
-
// on 2026-09-25 (byte-identical on the production and demo hosts). The processor ships dark: until
|
|
223
|
+
// on 2026-09-25 (byte-identical on the production and demo hosts, and on www on 2026-10-10). The processor ships dark: until
|
|
216
224
|
// the bundled catalog serves elavon_converge, a lone Converge signal names the processor and stays
|
|
217
225
|
// unknown. The page URL carries ?ssl_txn_auth_token=, which never takes part in matching. The
|
|
218
226
|
// Lightbox modal and Checkout.js are named as unverified variants.
|
|
@@ -304,8 +312,8 @@ RULES.push({ id: 'worldline-mycheckout-page', psp: 'worldline_mycheckout', kinds
|
|
|
304
312
|
// bundled catalog's processors, lists its psp. Until then its assets are not evidence, so a page
|
|
305
313
|
// that loads them, alone or beside another processor's SDK, reads exactly as it did before the
|
|
306
314
|
// processor existed. (The dark GMO, CyberSource Flex, Juspay, Pelecard, ACI, CreditGuard,
|
|
307
|
-
// Primer, Payrails, Elavon Converge, Worldpay eProtect, WSPay, Shiji STS, Amadeus
|
|
308
|
-
// MyCheckout rules above join RULES now, and their signals stay unknown.)
|
|
315
|
+
// Primer, Payrails, Elavon Converge, Worldpay eProtect, WSPay, Shiji STS, Amadeus, Worldline
|
|
316
|
+
// MyCheckout and Gravy rules above join RULES now, and their signals stay unknown.)
|
|
309
317
|
const SERVED_ONLY_RULES = [];
|
|
310
318
|
// Datatrans / PCI Proxy Secure Fields 2.0.0, reviewed from Datatrans's public library and iframe
|
|
311
319
|
// script (pay.datatrans.com/upp/payment/js/secure-fields-2.0.0.js and .min.js, field.js 3.24.602)
|
|
@@ -400,6 +408,9 @@ for (const [baseId, suffix, hostname, origin] of [
|
|
|
400
408
|
['elavon-converge-hpp-bundle', 'demo', /^api\.demo\.convergepay\.com$/, 'https://api.demo.convergepay.com'],
|
|
401
409
|
['elavon-converge-lightbox', 'demo', /^api\.demo\.convergepay\.com$/, 'https://api.demo.convergepay.com'],
|
|
402
410
|
['elavon-converge-checkout-js', 'demo', /^api\.demo\.convergepay\.com$/, 'https://api.demo.convergepay.com'],
|
|
411
|
+
// Every Buy Button and pay link opens the same page shell and bundle on www (read 2026-10-10).
|
|
412
|
+
['elavon-converge-hosted-payment-page', 'www', /^www\.convergepay\.com$/, 'https://www.convergepay.com'],
|
|
413
|
+
['elavon-converge-hpp-bundle', 'www', /^www\.convergepay\.com$/, 'https://www.convergepay.com'],
|
|
403
414
|
['wspay-components-script', 'test', /^proxy-test\.wspay\.biz$/, 'https://proxy-test.wspay.biz'],
|
|
404
415
|
['wspay-components-card-frame', 'test', /^proxy-test\.wspay\.biz$/, 'https://proxy-test.wspay.biz'],
|
|
405
416
|
['wspay-form-hosted-page', 'test', /^formtest\.wspay\.biz$/, 'https://formtest.wspay.biz'],
|
|
@@ -435,8 +446,9 @@ const DEFAULT_PROFILE = {
|
|
|
435
446
|
schema_version: 1, profile_version: 'preflight-2', catalog_version: CHECKOUT_PREFLIGHT_CATALOG_VERSION,
|
|
436
447
|
integration: { id: 'direct_sdk', version: 'bundled' },
|
|
437
448
|
// The bundled profile repeats each processor's projected status. A processor whose card
|
|
438
|
-
// request the SDK cannot pause at all
|
|
439
|
-
// as well as in its scenarios, so the exported profile never contradicts
|
|
449
|
+
// request the SDK cannot pause at all (a `card_request` gate in the projection) is declared
|
|
450
|
+
// unsupported here as well as in its scenarios, so the exported profile never contradicts
|
|
451
|
+
// the assessment.
|
|
440
452
|
processor_entries: CHECKOUT_PREFLIGHT_CAPABILITIES.processors.map(processor => ({
|
|
441
453
|
psp: processor.psp, mode: processor.mode, scenario: 'one_time', status: processor.status,
|
|
442
454
|
})),
|
package/dist/preparation.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export declare class PreparationGate {
|
|
|
28
28
|
assertDocument(): Promise<void>;
|
|
29
29
|
private readDocument;
|
|
30
30
|
isEngaged(): boolean;
|
|
31
|
+
/** Whether the one preparation was bound to a card request (claim() took it). */
|
|
32
|
+
isConsumed(): boolean;
|
|
31
33
|
/**
|
|
32
34
|
* A card request that only a prepared checkout may pay (an Adyen merchant
|
|
33
35
|
* profile's, or a Fiserv card capture, pre-claim.ts) arrived with no
|
package/dist/preparation.js
CHANGED
|
@@ -183,8 +183,8 @@ export class PreparationGate {
|
|
|
183
183
|
// carries, sent from the page it approved (the request's own Origin header names it).
|
|
184
184
|
if (Date.parse(prepared.expiresAt) <= Date.now() || !matchesPreparation(prepared, requestUrl, requestMethod, requestBody, requestHeaders)) {
|
|
185
185
|
// An Amadeus request payment-core refuses names its own reason (preparedRequestRefusal), so
|
|
186
|
-
//
|
|
187
|
-
// and a Secure Acceptance frame post with no Origin reads secure_acceptance_origin_header.
|
|
186
|
+
// a Data Collection Page store reads amadeus_dcp_field_config_unreviewed rather than a changed
|
|
187
|
+
// checkout, and a Secure Acceptance frame post with no Origin reads secure_acceptance_origin_header.
|
|
188
188
|
const reason = Date.parse(prepared.expiresAt) <= Date.now() ? 'expired'
|
|
189
189
|
: preparedRequestRefusal(prepared.psp, prepared.environment, requestUrl, requestBody, requestHeaders, prepared.merchantOrigin, prepared.currency);
|
|
190
190
|
this.invalidate(reason);
|
|
@@ -216,6 +216,8 @@ export class PreparationGate {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
isEngaged() { return this.state !== 'unused'; }
|
|
219
|
+
/** Whether the one preparation was bound to a card request (claim() took it). */
|
|
220
|
+
isConsumed() { return this.state === 'consumed'; }
|
|
219
221
|
/**
|
|
220
222
|
* A card request that only a prepared checkout may pay (an Adyen merchant
|
|
221
223
|
* profile's, or a Fiserv card capture, pre-claim.ts) arrived with no
|
|
@@ -29,6 +29,20 @@ export type PreparationMode = 'token' | 'cse';
|
|
|
29
29
|
export declare function preparationMode(psp: string): PreparationMode;
|
|
30
30
|
/** The method of the native card request a preparation binds: the registration GET for Worldpay eProtect, a POST for every other processor. */
|
|
31
31
|
export declare function preparationRequestMethod(psp: string): 'GET' | 'POST';
|
|
32
|
+
/**
|
|
33
|
+
* Whether a prepared checkout's approval outlives the page's own request, as an unprepared token
|
|
34
|
+
* approval does (cdp.ts survivesAbandonment): the page's next request for the same purchase, from
|
|
35
|
+
* the card frame that sent the first, is answered from it, with no second prompt. The approval stays
|
|
36
|
+
* that frame's (cdp.ts sameFrame): another frame's request is refused, and the frame's removal ends it.
|
|
37
|
+
*
|
|
38
|
+
* Bambora only. Custom Checkout's card frame fails its tokenization request 5 seconds after
|
|
39
|
+
* sending it, and a Pay button that runs the tokenization again sends the same placeholder and
|
|
40
|
+
* fields (WooCommerce's Bambora plugin shows the timeout, clears its token fields and lets Pay be
|
|
41
|
+
* clicked again). The cardholder's device answers with a token that pays nothing until the
|
|
42
|
+
* merchant's server charges it. Every other prepared checkout still answers only the request it
|
|
43
|
+
* was bound to.
|
|
44
|
+
*/
|
|
45
|
+
export declare function preparedApprovalAnswersRetry(psp: string): boolean;
|
|
32
46
|
/**
|
|
33
47
|
* Shared endpoint processors cannot attest test/live mode from their URL or key prefix.
|
|
34
48
|
* Adyen can: test and live are separate hosts and key prefixes. Fiserv's are separate
|
|
@@ -129,10 +143,10 @@ export declare function matchesPreparation(preparation: {
|
|
|
129
143
|
/**
|
|
130
144
|
* The reason a claim reports for a request its preparation does not match. An Amadeus preparation
|
|
131
145
|
* names what payment-core's Amadeus check refused on its own environment's card URL, as
|
|
132
|
-
* `amadeus_<reason>`:
|
|
133
|
-
*
|
|
134
|
-
* `
|
|
135
|
-
*
|
|
136
|
-
*
|
|
146
|
+
* `amadeus_<reason>`: every Data Collection Page store is `amadeus_dcp_field_config_unreviewed`
|
|
147
|
+
* until a merchant's field config is reviewed, an add that keeps the card on file is
|
|
148
|
+
* `amadeus_card_on_file`, and a Host header that does not name the approved page is
|
|
149
|
+
* `amadeus_header_binding`. Everything else, another processor's request or the other
|
|
150
|
+
* environment's host included, is `checkout_changed`.
|
|
137
151
|
*/
|
|
138
152
|
export declare function preparedRequestRefusal(psp: PreparationProcessor, environment: PreparationEnvironment, requestUrl: string, body?: string | null, headers?: Record<string, string>, merchantOrigin?: string | null, currency?: string | null): string;
|