Payment Source routes: add, remove
The Payment Source Verbs add, remove as api.sb routes, with inputs, result, refusals and an example.
Reference for Payment Source, one group of Payment Source routes.
PaymentSource.add
Add saves a new Payment Source for a Customer through Stripe’s embedded form on the Startup’s Domain, and can make it the default. Verb page.
POST /{namespace}/ payment-sources/ addBody, as JSON: the inputs. Emits PaymentSource.added.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
customer | Customer | required | The Customer who saves it. |
kind | string | required | How it pays; the form offers only the kinds the Customer’s Market accepts. |
default | boolean | True to charge it for every new Invoice and renewal. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
paymentSource | Payment Source | required | The saved Payment Source; Stripe holds its details. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ payment-sources/ add \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"customer": "cus_K1BROJhqzZ", "kind": "card"}'{
"api": "https: //api.sb/ leaseline.app",
"paymentSource": {
"$id": "https: //api.sb/ leaseline.app/ payment-sources/ pm_puFT0MuuUM",
"$type": "PaymentSource",
"kind": "card",
"label": "Visa 4242"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "PaymentSource.add",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}PaymentSource.remove
Remove detaches a saved Payment Source so nothing charges it again, and keeps the record. Verb page.
POST /{namespace}/ payment-sources/ {paymentSource}/ removePath: paymentSource. Emits PaymentSource.removed.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
paymentSource | Payment Source | required | The saved Payment Source. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
paymentSource | Payment Source | required | The removed Payment Source, kept on record. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ payment-sources/ pm_puFT0MuuUM/ remove \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"paymentSource": {
"$id": "https: //api.sb/ leaseline.app/ payment-sources/ pm_puFT0MuuUM",
"$type": "PaymentSource",
"kind": "card",
"label": "Visa 4242"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "PaymentSource.remove",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}