@agent-cards/sdk 0.23.25 → 0.23.26

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/dist/client.d.ts CHANGED
@@ -499,6 +499,17 @@ export declare const SUPPORTED_REGISTRY_FEATURES: readonly string[];
499
499
  * amount, so the agent's pair, above zero, is the one the cardholder approves.
500
500
  * Served on the same terms: only to a build that lists it, for a company Agentcard turned APS on for.
501
501
  *
502
+ * `nexi_checkout_pay`: the card payment Nexi Checkout's card frame (checkout.dibspayment.eu/v1/, formerly Nets
503
+ * Easy) posts as JSON to its own pay endpoint, https://checkout.dibspayment.eu/api/v1/pay (the test host for a
504
+ * test row), under the merchant's checkout key and the payment's id. This build pauses only the card form's own
505
+ * body at that exact URL ("save my card", "remember me" and a card fee are refused at the pause, and the frame's
506
+ * card lookup while the number is typed continues untouched); the cardholder's device reads Nexi's own record of the
507
+ * payment and sends the card through the checkout relay, and the frame gets Nexi's answer as payment-core's judge
508
+ * rebuilt it: the payment done, or Nexi's 3-D Secure step, which the frame then runs in the agent's browser. The
509
+ * body names the payment's amount in minor units but not its currency, so the agent's pair, above zero, is the one
510
+ * the cardholder approves, and the API holds its amount to the body's. Served on the same terms: only to a build
511
+ * that lists it, for a company Agentcard turned Nexi Checkout on for.
512
+ *
502
513
  * `barion_hosted_payment_page`: Barion's Smart Gateway, whose card-free link
503
514
  * (secure.barion.com/Pay?Id=<payment id>, a plain GET the merchant's redirect or script sends
504
515
  * the buyer to) this build pauses for the cardholder's device by its exact link (hosted-entry.ts),
@@ -506,6 +517,30 @@ export declare const SUPPORTED_REGISTRY_FEATURES: readonly string[];
506
517
  * send (pre-claim.ts, barion.ts). Served on the same terms as Przelewy24's: only to a build that
507
518
  * lists it, for a company Agentcard turned Barion on for.
508
519
  *
520
+ * `paymob_checkout_pay`: the card payment Paymob's own checkout sends, from Unified Checkout
521
+ * (<country>.checkout.paymob.com) or from the Pixel card frame a merchant's page embeds, as JSON to
522
+ * https://<accept|uae|ksa|oman>.paymob.com/api/acceptance/payments/pay. This build pauses only the
523
+ * card form's own payment at that exact URL: a card Paymob saved, a payment that keeps the card,
524
+ * pays in installments, splits, converts or names a Paymob account, and a payment key that enrolls
525
+ * a subscription or names no amount are refused at the pause, and another method's payment with no
526
+ * card (a wallet, Apple Pay, cash) continues to Paymob untouched. The cardholder's device sends the
527
+ * payment to Paymob itself with the real card, and the checkout gets Paymob's answer as payment-core's
528
+ * judge rebuilt it. The payment key names the amount and currency, so an agent pair is optional and
529
+ * the API holds one to the key's figure. Served on the same terms: only to a build that lists it, for
530
+ * a company Agentcard turned Paymob on for.
531
+ *
532
+ * `payu_latam_webcheckout_card`: the card submit PayU Latam's WebCheckout page posts to
533
+ * checkout.payulatam.com/ppp-web-gateway-payu/checkout/submit/<country>/credit_card/<key>
534
+ * (sandbox.checkout.payulatam.com on PayU's test platform). This build pauses only the card form's
535
+ * own submit at that exact URL (a ticked save-my-card box, a card PayU saved, installments and a
536
+ * test order on the live host are refused at the pause); the cardholder's device writes the real
537
+ * card into the paused body and sends it to PayU itself, and the page gets PayU's answer as
538
+ * payment-core's judge reads it. The page's BIN lookup (checkout/card_info/) carries the typed
539
+ * placeholder and continues, as the page needs its answer to fill the card's facts. The submit's
540
+ * copy of the order is the browser's, so the agent's pair, above zero, is the one the cardholder
541
+ * approves, which the API holds to the order PayU reads back. Served on the same terms: only to a
542
+ * build that lists it, for a company Agentcard turned PayU Latam on for.
543
+ *
509
544
  * The list itself is capabilities.json, sorted, one per line (scripts/generate-capabilities.mjs).
510
545
  */
511
546
  export declare const SUPPORTED_CAPABILITIES: readonly string[];
package/dist/client.js CHANGED
@@ -492,6 +492,17 @@ export const SUPPORTED_REGISTRY_FEATURES = ['card_fields', 'checkout_sessions'];
492
492
  * amount, so the agent's pair, above zero, is the one the cardholder approves.
493
493
  * Served on the same terms: only to a build that lists it, for a company Agentcard turned APS on for.
494
494
  *
495
+ * `nexi_checkout_pay`: the card payment Nexi Checkout's card frame (checkout.dibspayment.eu/v1/, formerly Nets
496
+ * Easy) posts as JSON to its own pay endpoint, https://checkout.dibspayment.eu/api/v1/pay (the test host for a
497
+ * test row), under the merchant's checkout key and the payment's id. This build pauses only the card form's own
498
+ * body at that exact URL ("save my card", "remember me" and a card fee are refused at the pause, and the frame's
499
+ * card lookup while the number is typed continues untouched); the cardholder's device reads Nexi's own record of the
500
+ * payment and sends the card through the checkout relay, and the frame gets Nexi's answer as payment-core's judge
501
+ * rebuilt it: the payment done, or Nexi's 3-D Secure step, which the frame then runs in the agent's browser. The
502
+ * body names the payment's amount in minor units but not its currency, so the agent's pair, above zero, is the one
503
+ * the cardholder approves, and the API holds its amount to the body's. Served on the same terms: only to a build
504
+ * that lists it, for a company Agentcard turned Nexi Checkout on for.
505
+ *
495
506
  * `barion_hosted_payment_page`: Barion's Smart Gateway, whose card-free link
496
507
  * (secure.barion.com/Pay?Id=<payment id>, a plain GET the merchant's redirect or script sends
497
508
  * the buyer to) this build pauses for the cardholder's device by its exact link (hosted-entry.ts),
@@ -499,6 +510,30 @@ export const SUPPORTED_REGISTRY_FEATURES = ['card_fields', 'checkout_sessions'];
499
510
  * send (pre-claim.ts, barion.ts). Served on the same terms as Przelewy24's: only to a build that
500
511
  * lists it, for a company Agentcard turned Barion on for.
501
512
  *
513
+ * `paymob_checkout_pay`: the card payment Paymob's own checkout sends, from Unified Checkout
514
+ * (<country>.checkout.paymob.com) or from the Pixel card frame a merchant's page embeds, as JSON to
515
+ * https://<accept|uae|ksa|oman>.paymob.com/api/acceptance/payments/pay. This build pauses only the
516
+ * card form's own payment at that exact URL: a card Paymob saved, a payment that keeps the card,
517
+ * pays in installments, splits, converts or names a Paymob account, and a payment key that enrolls
518
+ * a subscription or names no amount are refused at the pause, and another method's payment with no
519
+ * card (a wallet, Apple Pay, cash) continues to Paymob untouched. The cardholder's device sends the
520
+ * payment to Paymob itself with the real card, and the checkout gets Paymob's answer as payment-core's
521
+ * judge rebuilt it. The payment key names the amount and currency, so an agent pair is optional and
522
+ * the API holds one to the key's figure. Served on the same terms: only to a build that lists it, for
523
+ * a company Agentcard turned Paymob on for.
524
+ *
525
+ * `payu_latam_webcheckout_card`: the card submit PayU Latam's WebCheckout page posts to
526
+ * checkout.payulatam.com/ppp-web-gateway-payu/checkout/submit/<country>/credit_card/<key>
527
+ * (sandbox.checkout.payulatam.com on PayU's test platform). This build pauses only the card form's
528
+ * own submit at that exact URL (a ticked save-my-card box, a card PayU saved, installments and a
529
+ * test order on the live host are refused at the pause); the cardholder's device writes the real
530
+ * card into the paused body and sends it to PayU itself, and the page gets PayU's answer as
531
+ * payment-core's judge reads it. The page's BIN lookup (checkout/card_info/) carries the typed
532
+ * placeholder and continues, as the page needs its answer to fill the card's facts. The submit's
533
+ * copy of the order is the browser's, so the agent's pair, above zero, is the one the cardholder
534
+ * approves, which the API holds to the order PayU reads back. Served on the same terms: only to a
535
+ * build that lists it, for a company Agentcard turned PayU Latam on for.
536
+ *
502
537
  * The list itself is capabilities.json, sorted, one per line (scripts/generate-capabilities.mjs).
503
538
  */
504
539
  export const SUPPORTED_CAPABILITIES = DECLARED_CAPABILITIES;
@@ -602,6 +637,8 @@ export const SUPPORTED_CAPABILITIES = DECLARED_CAPABILITIES;
602
637
  * create route's refusal, not in this comment.
603
638
  */
604
639
  const REVOLUT_PSP = 'revolut';
640
+ /** Nexi Checkout's card payment names the payment's amount in minor units but not its currency, as Revolut's does. */
641
+ const NEXI_CHECKOUT_PSP = 'nexi_checkout';
605
642
  const AGENT_AMOUNT_PROCESSORS = AGENT_AMOUNT.processors;
606
643
  /** The ones a zero amount is refused for, like a missing one (authorize()). */
607
644
  const ABOVE_ZERO_PROCESSORS = AGENT_AMOUNT.aboveZero;
@@ -888,7 +925,7 @@ export class AmountRequiredError extends Error {
888
925
  constructor(psp) {
889
926
  const processor = PROCESSOR_NAMES[psp] ?? psp;
890
927
  // A Payrexx card request names the frame's total, but the merchant's page charges its own total after the token.
891
- const lacks = psp === REVOLUT_PSP ? 'names its amount but not its currency'
928
+ const lacks = psp === REVOLUT_PSP || psp === NEXI_CHECKOUT_PSP ? 'names its amount but not its currency'
892
929
  : psp === PAYREXX_PSP ? "only mints a token the merchant's page charges later"
893
930
  : psp === TAP_PAYMENTS_PSP ? 'does not decide the amount charged' : 'names no amount';
894
931
  // "An Omise payment request", "A Clover payment request": the article follows the name's first letter.