# Stripe 主催のオンランプをご利用ください。

リダイレクト URL を生成し、スタンドアロン型オンランプのセッションを発行します。

Stripe がホストするスタンドアロン型オンランプは、[https://crypto.link.com](https://crypto.link.comでホストされている暗号資産オンランプの構築済みフロントエンド導入です。プラットフォームが暗号資産オンランプを導入するには、アプリケーションに組み込まれたオンランプをホストするのではなく、ユーザーをスタンドアロン型オンランプにリダイレクトします。

## はじめに

テスト環境を含む Stripe オンランプにアクセスするには、以下の手順に従って申請する必要があります。

1. [Stripe アカウントを作成するか、サインインします](https://dashboard.stripe.com/register)。
2. まだの場合は、[Stripe アカウントを設定できます](https://dashboard.stripe.com/account/onboarding)。
3. [オンランプ申請書を提出してください](https://dashboard.stripe.com/crypto-onramp/get-started)。ほとんどのオンランプ申請は 48 時間以内に審査され、承認された場合、または追加の情報が必要な場合には通知が送られます。アプリケーションステータスは[ダッシュボード](https://dashboard.stripe.com/crypto-onramp/onboarding)でいつでもご確認いただけます。
4. 申請が承認されたら[統合を選択](https://docs.stripe.com/crypto/onramp.md#integration-options)し、[サンドボックス](https://docs.stripe.com/sandboxes.md)を利用して開発を開始します。

## Stripe 主催のオンランプ

スタンドアロンオンランプのリダイレクト URL は、パラメーターのカスタマイズをサポートし、宛先通貨、ソース金額または宛先金額などのフィールドに事前入力できます。

次のデモのように、リンクをユーザーに直接送信するか、ボタンで表示して、リンクを共有します。

## 通貨と利用可否

アメリカおよび EU では以下の通貨を利用できます。利用可能な通貨は変更される場合があります。

- ETH (イーサリアム)
- ETH (ベース)1
- SOL
- POL
- MATIC
- BTC
- AVAX
- XLM1
- USDC (イーサリアム)
- USDC (ソラナ)1
- USDC (ポリゴン)1
- USDC (Avalanche)1
- USDC (ベース)1
- USDC (Stellar)1

1XLM、USDC (Stellar)、USDC (Avalanche)、USDC (Polygon) はニューヨークでは利用できません。ETH (Base)、MATIC、AVAX、USDC (Solana)、USDC (Polygon)、USDC (Avalanche)、USDC (Base) は EU ではサポートされていません。

## Stripe 主催のオンランプをカスタマイズする

`Standalone` 関数を使用してコードでリダイレクト URL を生成し、目的のフィールドを渡すこともできます。リダイレクト URL を生成するか、リダイレクト URL を使用してセッションを作成するかを選択します。

| カスタマイズオプション | 概要 | 最適なユーザー |
| --- | --- | --- |
| リダイレクト URL を生成する | Stripe アカウントなしでフロントエンドでリダイレクト URL を生成します。ソースまたは宛先の推奨金額、宛先通貨、ネットワークをカスタマイズします。 | ブランディングをせずに、部分的なカスタマイズでシンプルなフロントエンドのみの導入を希望する場合。 |
| リダイレクト URL でセッションを発行する | Stripe アカウントのバックエンドでリダイレクト URL を使用してセッションをミントします。宛先のウォレットアドレスなど、完全なカスタマイズが可能です。パラメーターの一覧については、[取引パラメーターの事前入力](https://docs.stripe.com/crypto/onramp/stripe-hosted.md#customize-onramp)をご覧ください。 | ブランディングによるオンランプの完全なカスタマイズを希望する場合。 |

### リダイレクト URL を生成する

以下のスクリプトを、script タグを使用して HTML の `<head>` 要素内に含めます。互換性と *PCI 準拠* (Any party involved in processing, transmitting, or storing credit card data must comply with the rules specified in the Payment Card Industry (PCI) Data Security Standards. PCI compliance is a shared responsibility and applies to both Stripe and your business)のため、このスクリプトは常に Stripe のドメイン (「https://js.stripe.com」、「https://crypto-js.stripe.com」) から直接読み込んでください。このスクリプトをバンドルに含めたり、そのコピーを自分でホストしたりしないでください。その場合、警告なしに実装が壊れる可能性があります。

```html
<head>
  <title>Onramp</title>
  <script src="https://js.stripe.com/endive/stripe.js"></script>
  <script src="https://crypto-js.stripe.com/crypto-onramp-outer.js"></script>
</head>
```

`Standalone` 関数を使用して、リダイレクト URL を作成し、希望のパラメーターを渡します。

```js
const standaloneOnramp = window.StripeOnramp.Standalone({
  source_currency: 'usd',
  amount: {source_amount: '42'},
  destination_networks: ['ethereum', 'bitcoin'],
  destination_currencies: ['eth', 'btc'],
  destination_currency: 'btc',
  destination_network: 'bitcoin'
});
const redirectUrl = standaloneOnramp.getUrl();
```

以下のパラメーターに事前入力できます。

- `source_currency`: 取引の法定通貨 (`usd` および `eur`)。
- `amount`: 法定通貨または暗号資産によるこの購入の固定金額。法定通貨の金額を指定するには、`source_amount` (`{source_amount: 42}`) を渡します。暗号資産の金額を指定するには、`destination_amount` (`{destination_amount: 42}`) を渡します。指定できる金額は 1 つのみです。
- `destination_currencies`: 制限対象とする暗号資産の配列 (`['eth', 'usdc']`)
- `destination_networks`: 限定先にする暗号資産ネットワークの配列 (`['ethereum', 'polygon']`)。
- `destination_network`: このオンランプのデフォルトの暗号資産ネットワーク (`ethereum`)。
- `destination_currency`: このオンランプセッションのデフォルト暗号資産 (`eth`).

フロントエンドで暗号資産オンランプが事前構築されたスタンドアロン型オンランプの URL に、ユーザーをリダイレクトします。

### リダイレクト URL でセッションを発行する

他の実装と同様に、ユーザーがアクセスするたびに[新規オンランプセッションを作成](https://docs.stripe.com/api/crypto/onramp_sessions/create.md)するサーバーエンドポイントを実装する必要があります。オンランプセッションの作成リクエストが `redirect_url` を返します。スタンドアロン型オンランプで全面的にブランド化したカスタムの暗号資産オンランプの URL に、ユーザーをリダイレクトします。

次の curl コマンドを実行して、`redirect_url` 暗号資産オンランプセッションを生成します。

```bash
curl -X POST https://api.stripe.com/v1/crypto/onramp_sessions \
  -u <<YOUR_SECRET_KEY>>:
```

次のようなレスポンスを受信します。

```json
{
  "id": "cos_0MpKNb589O8KAxCGjmaOVF8T",
  "object": "crypto.onramp_session",
  "client_secret": "cos_0MpKNb589O8KAxCGjmaOVF8T_secret_fqV1TAdhSCFeO9FW5HnygRXca00AwEHIOu8",
  "created": 1679701843,
  "livemode": false,
  "redirect_url": "https://crypto.link.com?session_hash=CCwaGwoZYWNjdF8yOERUNTg5TzhLQXhDR2JMbXh5WijU7vigBjIGmyBbkqO4Oi10eFHEaFln9gFSsTGQBoQf5qRZK-A0NhiEIeH3QaCMrz-d4oYotirrAd_Bkz4",
  "status": "initialized",
  "transaction_details": {
    "destination_currency": null,
    "destination_amount": null,
    "destination_network": null,
    "fees": null,
    "lock_wallet_address": false,
    "source_currency": null,
    "source_amount": null,
    "destination_currencies": [
      "btc",
      "eth",
      "sol",
      "usdc",
      "xlm"
    ],
    "destination_networks": [
      "bitcoin",
      "ethereum",
      "solana",
      "polygon",
      "stellar"
    ],
    "transaction_id": null,
    "wallet_address": null,
    "wallet_addresses": null
  }
}
```
