# Mobile Payment Element の Link

ネイティブの iOS、Android、React Native アプリに Link を追加します。

顧客がスピーディーに精算できるようにするには、[Mobile Payment Element](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=mobile&platform=ios) 内の [Link](https://docs.stripe.com/payments/link.md) を使用します。顧客がすでに Link を利用している場合には、顧客が最初に別の事業者で Link に情報を保存した場合でも、情報が自動で入力されます。デフォルトの Mobile Payment Element の導入では、クレジットカードフォームに Link プロンプトが含まれます。
![Link in iOS](https://b.stripecdn.com/docs-statics-srv/assets/link-in-ios.de526c6199ff89fbaa7b1beb5e8bc3da.png)

iOS 導入にLinkを追加する

## Linkを有効にする

モバイルアプリで Link を提供するには:

1. 最新バージョンの Stripe Mobile SDK を使用して [Mobile Payment Element を統合](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=mobile&platform=ios)しましょう。
1. [決済手段設定](https://dashboard.stripe.com/settings/payment_methods)でLinkを有効にします。
1. [最新バージョンの API](https://docs.stripe.com/upgrades.md) を使用するか、PaymentIntent の作成時に [automatic_payment_methods](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-automatic_payment_methods) パラメーターを使用して、[動的な支払い方法](https://docs.stripe.com/payments/payment-methods/dynamic-payment-methods.md)を有効にします。
1. (オプション) [顧客のメールアドレスと電話番号を渡す](https://docs.stripe.com/payments/link/mobile-payment-element-link.md#pass-email)。

決済導入が Link に与える影響については、さまざまな決済導入での [Link](https://docs.stripe.com/payments/link/link-payment-integrations.md) をご覧ください。

## 顧客のメールアドレスと電話番号を渡す

Link はメールアドレスと電話番号を使用して顧客を認証します。決済プロセスを効率化するために、できるだけ多くの情報を事前入力することをお勧めします。

#### iOS

顧客の氏名、メールアドレス、電話番号を事前入力するには、`PaymentSheet.Configuration` を初期化した後に `defaultBillingDetails` に顧客情報を指定します。

```swift
var configuration = PaymentSheet.Configuration()
configuration.defaultBillingDetails.name = "Jenny Rosen"
configuration.defaultBillingDetails.email = "jenny.rosen@example.com"
configuration.defaultBillingDetails.phone = "888-888-8888"
```

#### Android

顧客の氏名、メールアドレス、電話番号を事前入力するには、`PaymentSheet.Configuration` を初期化する際に `defaultBillingDetails` に顧客情報を指定します。

#### Kotlin

```kotlin
let configuration = PaymentSheet.Configuration(
    merchantDisplayName = "Example, Inc.",
    defaultBillingDetails = PaymentSheet.BillingDetails(
        name = "Jenny Rosen",
        email = "jenny.rosen@example.com",
        phone = "888-888-8888"
    )
)
```

#### React Native

顧客の氏名、メールアドレス、電話番号を事前入力するには、顧客情報を含む `defaultBillingDetails` を `initPaymentSheet` に指定します。

```javascript
await initPaymentSheet({
  ...
  defaultBillingDetails: {
    name: 'Jenny Rosen',
    email: 'jenny.rosen@example.com',
    phone: '888-888-8888',
  },
});
```

## 実装内容をテストする

有効なメールアドレスを使用して、Linkのサンドボックスアカウントを作成できます。ワンタイムパスコードを求められたら、`000000` と入力します。

## See also

- [Stripe Mobile SDK](https://docs.stripe.com/sdks.md#stripe-mobile-sdks)
