Skip to content

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.

Text
POST /{namespace}/payment-sources/add

Body, as JSON: the inputs. Emits PaymentSource.added.

Inputs

InputTypeRequiredDescription
customerCustomerrequiredThe Customer who saves it.
kindstringrequiredHow it pays; the form offers only the kinds the Customer’s Market accepts.
defaultbooleanTrue to charge it for every new Invoice and renewal.

Returns

OutputTypeRequiredDescription
paymentSourcePayment SourcerequiredThe saved Payment Source; Stripe holds its details.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
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"}'
JSON
{
  "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.

Text
POST /{namespace}/payment-sources/{paymentSource}/remove

Path: paymentSource. Emits PaymentSource.removed.

Inputs

InputTypeRequiredDescription
paymentSourcePayment SourcerequiredThe saved Payment Source.

Returns

OutputTypeRequiredDescription
paymentSourcePayment SourcerequiredThe removed Payment Source, kept on record.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/payment-sources/pm_puFT0MuuUM/remove \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "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"
  }
}