# Clonar dados de pagamento de clientes em contas conectadas

Reutilize informações de pagamento em várias contas conectadas que compartilham clientes.

> O conteúdo desta página descreve um recurso *herdado* (Technology that's no longer recommended). O suporte a esse recurso pode terminar sem aviso. Portanto, se você utilizá-lo, atualize sua integração para usar o processo atual de reutilização de informações de pagamento em contas conectadas. Para obter mais informações, consulte [Compartilhe formas de pagamento entre várias contas](https://docs.stripe.com/connect/direct-charges-multiple-accounts.md#clone-and-create-direct-charges).

Para alguns modelos de negócios, pode ser útil reutilizar os dados de pagamento dos clientes em contas conectadas. Por exemplo, um cliente que faz uma compra de um dos vendedores conectados não precisa informar novamente os dados de cartão de crédito ou conta bancária para comprar de outro vendedor.

Com o *Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients), você pode fazer isso seguindo estas três etapas:

1. [Armazenar os clientes](https://docs.stripe.com/connect/cloning-customers-across-accounts.md#storing-customers) com uma forma de pagamento na conta da plataforma.
1. [Criar tokens](https://docs.stripe.com/connect/cloning-customers-across-accounts.md#creating-tokens) para clonar a forma de pagamento no momento da cobrança do cliente em nome de uma conta conectada.
1. [Criar cobranças](https://docs.stripe.com/connect/cloning-customers-across-accounts.md#creating-charges) usando os novos tokens.

## Armazenar clientes

A clonagem de formas de pagamento salvas só é relevante na [criação de cobranças diretas em contas conectadas](https://docs.stripe.com/connect/direct-charges.md). Ela não é necessária para cobranças na conta da sua plataforma.

Quando não for clonar formas de pagamento, você salva os [objetos Customer](https://docs.stripe.com/api.md#customers) da Stripe em cada conta Stripe conectada. Para clonar formas de pagamento, você salva esses objetos na conta Stripe da plataforma.

Esta é uma [chamada de API](https://docs.stripe.com/api.md#create_customer), mas lembre-se de usar suas próprias chaves secretas e publicáveis em vez das chaves da conta Connect.

```curl
curl https://api.stripe.com/v1/customers \
  -u "<<YOUR_SECRET_KEY>>:" \
  --data-urlencode "email=paying.user@example.com" \
  -d source=tok_mastercard
```

## Criar tokens

> Se sua plataforma utiliza a Sources API, você deve [criar uma Source a partir daquele cliente](https://docs.stripe.com/sources.md), em vez de gerar um token. Caso sua plataforma utilize a [Payment Methods API](https://docs.stripe.com/payments/payment-methods.md), você deve [criar um PaymentMethod com base no cliente](https://docs.stripe.com/connect/direct-charges-multiple-accounts.md#clone-and-create-direct-charges). Depois de seguir um desses fluxos, prossiga para a etapa de [criação de cobranças](https://docs.stripe.com/connect/cloning-customers-across-accounts.md#creating-charges), sem criar um token.

Quando estiver pronto para criar uma cobrança em uma conta conectada para cliente salvo na conta da plataforma, [crie um token](https://docs.stripe.com/api.md#create_card_token) para essa finalidade. Serão necessários:

- O ID da conta Stripe da conta conectada (por exemplo, `acct_orWziM4j7CiRL8J4`) em que você está criando a cobrança
- O ID do cliente cobrado na conta de plataforma (por exemplo, `cus_orWziM4j7CiRL8`)
- O cartão ou ID da conta bancária desse cliente, se você quiser cobrar um cartão ou conta bancária diferente do padrão

```curl
curl https://api.stripe.com/v1/tokens \
  -u "<<YOUR_SECRET_KEY>>:" \
  -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \
  -d "customer={{CUSTOMER_ID}}"
```

## Criar cobranças

[Anexe o token criado na etapa anterior a um cliente](https://docs.stripe.com/api.md#create_customer) na conta conectada.

> As cobranças realizadas no cliente clonado não são refletidas no cliente original. Esse recurso é destinado a várias contas conectadas que precisam cobrar o mesmo usuário.

> Se sua plataforma usa a [API Payment Methods](https://docs.stripe.com/payments/payment-methods.md), você deve passar a ID da forma de pagamento no parâmetro `payment_method` em vez de passar o parâmetro `source`.

```curl
curl https://api.stripe.com/v1/customers \
  -u "<<YOUR_SECRET_KEY>>:" \
  -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \
  -d "source={{TOKEN_ID}}"
```

Em seguida, use o ID do cliente (por exemplo, `cus_orWziM4j7CiRL8`) e da forma de pagamento (por exemplo, `card_orWziM4j7CiRL8`) retornados pela chamada `customers.create` para cobrar o cliente.

```curl
curl https://api.stripe.com/v1/payment_intents \
  -u "<<YOUR_SECRET_KEY>>:" \
  -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \
  -d amount=999 \
  -d currency=usd \
  -d "payment_method_types[]=card" \
  -d "customer={{CUSTOMER_ID}}" \
  -d "payment_method={{PAYMENTMETHOD_ID}}"
```

## See also

- [Criar cobranças](https://docs.stripe.com/connect/charges.md)
- [Criar Direct Charges](https://docs.stripe.com/connect/direct-charges.md)
