com.atiproto.payment.cart.clone
Clone an existing cart, creating new item and subscription records. Useful for reopening expired carts or repeating payments.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | cart.payment.atiproto.com |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Clone an existing cart, creating new item and subscription records. Useful for reopening expired carts or repeating payments.",
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"redirectUrl": {
"description": "URI to redirect to after checkout is complete/cancelled",
"format": "uri",
"type": "string"
},
"uri": {
"description": "AT-URI of the cart to clone",
"format": "at-uri",
"type": "string"
},
"workflow": {
"description": "Workflow callback envelope. Present on agent-driven callbacks; absent on initial calls.",
"ref": "com.atiproto.actions#inboundWorkflow",
"type": "ref"
}
},
"required": [
"uri"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cart": {
"description": "The new cart record",
"ref": "com.atiproto.cart#view",
"type": "ref"
},
"cartUri": {
"description": "URI of the new cart record",
"format": "at-uri",
"type": "string"
},
"checkoutUrl": {
"description": "Checkout URL for the new cart",
"format": "uri",
"type": "string"
},
"items": {
"description": "Newly created item records",
"items": {
"ref": "com.atiproto.item#view",
"type": "ref"
},
"type": "array"
},
"subscriptions": {
"description": "Newly created subscription records",
"items": {
"ref": "com.atiproto.subscription#view",
"type": "ref"
},
"type": "array"
},
"workflow": {
"description": "Workflow envelope. When present, the agent runs the actions and calls back. When absent, this is the final native result.",
"ref": "com.atiproto.actions#outboundWorkflow",
"type": "ref"
}
},
"type": "object"
}
},
"type": "procedure"
}
},
"id": "com.atiproto.payment.cart.clone",
"lexicon": 1
}