You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e7cb96d
Browse filesBrowse the repository at this point in the historyBrowse files
Start hosted enrollment of a card in a connected Kernel wallet, including its first card, only when the wallet advertises add_payment_method. Returns a new payment method in pending_enrollment with a single-use card_enrollment URL for the cardholder. Card details go directly to the card vault and are never accepted by this API. Each call creates a separate link that expires after 30 minutes; a failed or expired enrollment does not affect the wallet's other payment methods. Scoped API keys require vaults:write in addition to vaults:use on this vault; otherwise the operation returns 403.
12
+
Start enrollment of a card in a connected Kernel wallet, including its first card, only when the wallet advertises add_payment_method. Returns a new payment method in pending_enrollment with a single-use action. Card details go directly to the card vault and are never accepted by this API. With enrollment hosted (the default) the action is a card_enrollment URL for the cardholder, which expires after 30 minutes. With enrollment server the action is a card_ingest URL that the card's issuer posts the card to from its backend, which expires after 5 minutes; server enrollment returns 409 when it is not configured for the organization's card backend. A failed or expired enrollment does not affect the wallet's other payment methods. Scoped API keys require vaults:write in addition to vaults:use on this vault; otherwise the operation returns 403.
13
13
"""
14
14
15
15
type: Required[Literal["add_payment_method"]]
16
+
17
+
enrollment: Literal["hosted", "server"]
18
+
"""hosted returns a card_enrollment link for the cardholder.
19
+
20
+
server returns a card_ingest URL for the card's issuer to post the card to
"""The payment method created in pending_enrollment.
13
13
14
-
Deliver action.url to the cardholder; it is a single-use capability and must not be logged. Observe completion through the wallet's payment_methods expansion.
14
+
Deliver a card_enrollment action.url to the cardholder; it is a single-use capability and must not be logged. A card_ingest action.url is posted to by the card's issuer. Observe completion through the wallet's payment_methods expansion.
Copy file name to clipboardExpand all lines: src/kernel/types/vaults/vault_payment_method.py
+36-11Lines changed: 36 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -33,15 +33,20 @@ class Display(BaseModel):
33
33
34
34
35
35
classAction(BaseModel):
36
-
name: Literal["card_enrollment"]
36
+
"""The open enrollment of a pending payment method.
37
+
38
+
card_enrollment is a single-use hosted link for the cardholder. card_ingest is a single-use URL on a Kernel ingest hostname served by the card vault, which the card's issuer posts the card to from its backend; Kernel never receives the card number or CVC.
39
+
"""
40
+
41
+
name: Literal["card_enrollment", "card_ingest"]
37
42
38
43
url: str
39
44
40
45
capture_token: Optional[str] =None
41
46
"""Secret bearer capability for embedded card capture with @onkernel/vault-react.
42
47
43
-
Present only for Kernel wallets; never for AgentCard. Treat it like the
44
-
enrollment URL and do not log or persist it in browser storage.
48
+
Present only on card_enrollment for Kernel wallets; never for AgentCard. Treat
49
+
it like the enrollment URL and do not log or persist it in browser storage.
45
50
"""
46
51
47
52
@@ -71,20 +76,40 @@ class VaultPaymentMethod(BaseModel):
71
76
"""Provider-neutral payment-method type normalized to lowercase."""
72
77
73
78
action: Optional[Action] =None
79
+
"""The open enrollment of a pending payment method.
80
+
81
+
card_enrollment is a single-use hosted link for the cardholder. card_ingest is a
82
+
single-use URL on a Kernel ingest hostname served by the card vault, which the
83
+
card's issuer posts the card to from its backend; Kernel never receives the card
84
+
number or CVC.
85
+
"""
74
86
75
87
expires_at: Optional[datetime] =None
76
-
"""Expiry of a pending enrollment link."""
88
+
"""Expiry of a pending enrollment link or ingest URL."""
89
+
90
+
issuer_reference: Optional[str] =None
91
+
"""Kernel wallets only.
92
+
93
+
The issuer's reference for a card it pushed with a card_ingest URL.
0 commit comments