Skip to content

Commit

Permalink
Partner-69: Allow to pass card details
Browse files Browse the repository at this point in the history
  • Loading branch information
Ifropc committed Jan 17, 2024
1 parent 7a83788 commit 6947661
Showing 1 changed file with 39 additions and 12 deletions.
51 changes: 39 additions & 12 deletions ecosystem/sep-0009.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,18 +102,19 @@ any country, and some fields are specific to a given country, such as `cbu_numbe
addition to other pieces of information. In order to optimize for the user's experience, it is recommended that
applications use fields that are the most familiar, which are often specific to a given country or financial system.

| Name | Type | Description |
| --------------------- | ------ | ------------------------------------------------------------------------------ |
| `bank_account_type` | string | `checking` or `savings` |
| `bank_account_number` | string | Number identifying bank account |
| `bank_number` | string | Number identifying bank in national banking system (routing number in US) |
| `bank_phone_number` | string | Phone number with country code for bank |
| `bank_branch_number` | string | Number identifying bank branch |
| `clabe_number` | string | Bank account number for Mexico |
| `cbu_number` | string | Clave Bancaria Uniforme (CBU) or Clave Virtual Uniforme (CVU). |
| `cbu_alias` | string | The alias for a Clave Bancaria Uniforme (CBU) or Clave Virtual Uniforme (CVU). |
| `crypto_address` | string | Address for a cryptocurrency account |
| `crypto_memo` | string | A destination tag/memo used to identify a transaction |
| Name | Type | Description |
| --------------------- | ------ | ---------------------------------------------------------------------------------- |
| `bank_account_type` | string | `checking` or `savings` |
| `bank_account_number` | string | Number identifying bank account |
| `bank_number` | string | Number identifying bank in national banking system (routing number in US) |
| `bank_phone_number` | string | Phone number with country code for bank |
| `bank_branch_number` | string | Number identifying bank branch |
| `clabe_number` | string | Bank account number for Mexico |
| `cbu_number` | string | Clave Bancaria Uniforme (CBU) or Clave Virtual Uniforme (CVU). |
| `cbu_alias` | string | The alias for a Clave Bancaria Uniforme (CBU) or Clave Virtual Uniforme (CVU). |
| `crypto_address` | string | Address for a cryptocurrency account |
| `crypto_memo` | string | A destination tag/memo used to identify a transaction |
| `card_details` | object | Details of the user's card. See the [card object schema](#card-object) for details |

## Organization Fields

Expand Down Expand Up @@ -148,8 +149,34 @@ single multi-line string in the `address` field. This allows any address in the
number of fields. If address parsing is necessary, parsing will be easier since the country, city, and postal code are
already separate fields.

## Card object

To pass card (such as credit card) details to the application, the client should pass card details via an object defined
below. Note, that it's possible to either pass card details to the application, or the token, representing the card.
This token may be fetched from a third-party source prior, for example, it can be a
[Stripe token](https://stripe.com/docs/api/tokens/create_card), or any other service offering similar functionality may
be used. When token is used, application should notify clients about the type of the token that it is expecting to
receive. Usually, application would require either `token`, or set of: `number`, `expiration_date`, `cvc` and
`holder_name` to be provided, but some applications may require extra fields.

| Name | Type | Description |
| ------------------- | ------ | ------------------------------------------------------------------------------------------- |
| `number` | number | Card number |
| `expiration_date` | date | Expiration month and year (e.g. `11-29`, November 2029) |
| `cvc` | number | CVC number (3 digits on the back of the card) |
| `holder_name` | string | Name of the card holder |
| `type` | string | Type of the bank card used (e.g. debit, credit) |
| `brand` | string | Brand of the card (e.g. Visa, Mastercard) |
| `postal_code` | string | Post or other code used by the card for the billing purposes |
| `country_code` | string | Country code used by the card for the billing purposes |
| `state_or_province` | string | Name of state/province/region/prefecture |
| `city` | string | Name of city/town |
| `address` | string | Entire address (country, state, postal code, street address, etc...) as a multi-line string |
| `token` | string | Token representation of the card in some external payment system (e.g. Stripe) |

## Changelog

- `v1.15.0`: Add `card_details` field ([#](https://github.com/stellar/stellar-protocol/pull/)).
- `v1.14.0`: Add `referral_id` field ([#1418](https://github.com/stellar/stellar-protocol/pull/1418)).
- `v1.13.0`: Add `crypto` related fields to financial account fields section.
([#1382](https://github.com/stellar/stellar-protocol/pull/1382))
Expand Down

0 comments on commit 6947661

Please sign in to comment.