> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dompet Digital

> Terima Apple Pay, Google Pay, Amazon Pay, Cash App Pay, dan RevolutPay untuk checkout cepat dan aman dengan satu ketukan. Pelajari tentang pengaturan, verifikasi domain, dan pengujian.

Dompet digital memungkinkan pelanggan membayar hanya dengan satu ketuk menggunakan metode pembayaran yang disimpan di perangkat mereka. Mereka menawarkan tingkat konversi yang lebih tinggi, keamanan yang lebih kuat melalui tokenisasi, dan pengalaman checkout yang lebih lancar.

## Dompet yang Didukung

| Dompet           | Ketersediaan           | Mata Uang | Langganan | Pengaturan Diperlukan |
| :--------------- | :--------------------- | :-------- | :-------: | :-------------------- |
| **Apple Pay**    | Global (kecuali India) | Semua     |     Ya    | Verifikasi domain     |
| **Google Pay**   | Global (kecuali India) | Semua     |     Ya    | Tidak ada             |
| **Amazon Pay**   | Global (kecuali India) | USD       |   Tidak   | Tidak ada             |
| **Cash App Pay** | Hanya AS               | USD       |   Tidak   | Tidak ada             |
| **RevolutPay**   | Global                 | GBP       |   Tidak   | Tidak ada             |

<Warning>
  **Dukungan PayPal Ditangguhkan:** PayPal sementara tidak tersedia untuk transaksi baru.
</Warning>

## Apple Pay

Apple Pay memungkinkan pelanggan membayar menggunakan kartu yang disimpan di Apple Wallet mereka, dengan autentikasi Face ID atau Touch ID.

<Info>
  Apple Pay ditawarkan untuk langganan bahkan ketika biaya pertama adalah \*\*$0** (misalnya, uji coba gratis) sehingga mandat pembayaran dapat diatur saat pendaftaran. Untuk pembayaran satu kali, Apple Pay hanya ditampilkan ketika jumlahnya lebih besar dari $0.
</Info>

### Persyaratan

* **Perangkat:** iOS 17+, iPadOS 17+, Safari 17+ di macOS
* **Protokol:** HTTPS diperlukan
* **Domain:** Harus diverifikasi dengan Apple

### Verifikasi Domain

<Info>
  Verifikasi domain hanya diperlukan untuk **inline (embedded) checkout**. Overlay checkout, hosted checkout, dan tautan pembayaran tidak memerlukannya.
</Info>

<Steps>
  <Step title="Open Wallet domains">
    Dalam dashboard Anda, pergi ke **Settings → Metode Pembayaran** dan, pada baris **Apple Pay**, klik **Kelola domain**.

    <Frame caption="Open Wallet domains from the Apple Pay row">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/manage-domains.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=a96c60ee0eef744336df955f5148c573" alt="Tombol Kelola domain pada baris Apple Pay dalam pengaturan Metode Pembayaran" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1670" data-path="images/apple-pay-domains/manage-domains.png" />
    </Frame>
  </Step>

  <Step title="Download the domain association file">
    Dari panel domain Wallet, unduh file asosiasi.

    <Frame caption="Download the Apple Pay domain association file">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/wallet-domains-panel.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=fb37db780807c0e92ffaa57d2140b91d" alt="Panel domain Wallet dengan tombol Unduh file" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1668" data-path="images/apple-pay-domains/wallet-domains-panel.png" />
    </Frame>
  </Step>

  <Step title="Register your domain">
    Klik **Daftarkan domain** dan masukkan domain tempat Anda membenamkan checkout (misalnya, `shop.example.com`), lalu **Lanjutkan**.

    <Frame caption="Register the domain where you embed checkout">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/register-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=9c2bf22e51c8ff188a4e11b36b24c136" alt="Formulir pendaftaran domain dengan domain yang dimasukkan" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1672" data-path="images/apple-pay-domains/register-domain.png" />
    </Frame>
  </Step>

  <Step title="Host the file on your domain">
    Unggah ke server Anda di:

    ```
    https://shop.example.com/.well-known/apple-developer-merchantid-domain-association
    ```

    File harus disajikan melalui HTTPS, dapat diakses tanpa pengalihan, dan disajikan dengan `Content-Type: application/octet-stream` atau `text/plain`.
  </Step>

  <Step title="Verify the domain">
    Klik **Verifikasi domain**. Dodo Payments mengecek file yang di-host dan mengirimkan domain Anda ke Apple.

    <Frame caption="Verify the hosted association file">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/verify-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=e9fcfe5b68320a0a22c644fb935c840b" alt="Layar verifikasi domain Anda dengan path host file asosiasi dan tombol Verifikasi domain" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1674" data-path="images/apple-pay-domains/verify-domain.png" />
    </Frame>
  </Step>

  <Step title="Confirm it's active">
    Ketika status menunjukkan **Aktif**, Apple Pay aktif untuk domain tersebut. Gunakan toggle **Enabled** untuk menghidupkan atau mematikannya per domain.

    <Frame caption="Verified domains show an Active status">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/domains-active.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=51a2bf473b1faf3db5776bbfa7140854" alt="Daftar domain Wallet menunjukkan domain dengan status Apple Pay Aktif dan toggle Enabled" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1670" data-path="images/apple-pay-domains/domains-active.png" />
    </Frame>
  </Step>

  <Step title="Test the integration">
    1. Buka checkout di perangkat Apple
    2. Verifikasi tombol Apple Pay muncul
    3. Selesaikan transaksi uji
  </Step>
</Steps>

### Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['apple_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Google Pay

Google Pay memungkinkan pelanggan membayar menggunakan kartu yang tersimpan dalam akun Google mereka, dengan perlindungan penipuan bawaan.

### Persyaratan

* **Browser:** Chrome (desktop/mobile), Safari, Firefox
* **Perangkat:** Perangkat Android dengan aplikasi Google Pay
* **Pengaturan:** "Izinkan situs memeriksa apakah Anda memiliki metode pembayaran" diaktifkan di Chrome

### Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['google_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

<Info>
  Tidak perlu verifikasi domain untuk Google Pay — ini bekerja secara otomatis setelah akun Anda aktif.
</Info>

## Amazon Pay

Amazon Pay memungkinkan pelanggan menggunakan kredensial akun Amazon mereka dan metode pembayaran yang tersimpan untuk pengalaman checkout yang familiar.

### Batasan

* **Mata Uang:** Hanya USD
* **Langganan:** Tidak didukung
* **Wilayah:** Tidak tersedia di India

### Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['amazon_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Cash App Pay

Cash App Pay memungkinkan pembayaran dari Cash App, populer di kalangan konsumen AS untuk pembayaran peer-to-peer.

### Batasan

* **Wilayah:** Hanya AS
* **Mata Uang:** Hanya USD
* **Langganan:** Tidak didukung

### Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['cashapp', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## RevolutPay

RevolutPay memungkinkan pembayaran cepat dan lancar untuk pengguna Revolut secara global, memanfaatkan saldo akun Revolut mereka yang ada atau kartu terhubung.

### Batasan

* **Mata Uang:** Hanya GBP
* **Langganan:** Tidak didukung

### Konfigurasi

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['revolut_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Pengujian

### Pengujian Apple Pay

<Steps>
  <Step title="Use test mode">
    Aktifkan mode uji di dashboard Dodo Payments Anda.
  </Step>

  <Step title="Add a card to Apple Wallet">
    Tambahkan kartu asli ke Apple Wallet Anda. Dalam mode uji, kartu tidak akan dikenakan biaya.
  </Step>

  <Step title="Complete test purchase">
    Buka checkout di perangkat Apple dan selesaikan alur Apple Pay.
  </Step>
</Steps>

<Warning>
  Apple Pay memerlukan HTTPS. Itu tidak akan muncul di `localhost` tanpa pengaturan SSL yang tepat.
</Warning>

### Pengujian Google Pay

<Steps>
  <Step title="Join the test card group">
    [Bergabunglah dengan grup kartu uji Google Pay](https://groups.google.com/g/googlepay-test-mode-stub-data) untuk mendapatkan kartu uji yang secara otomatis ditambahkan ke dompet Anda.
  </Step>

  <Step title="Enable test mode">
    Gunakan kunci API uji Dodo Payments Anda.
  </Step>

  <Step title="Complete test purchase">
    Pilih salah satu kartu uji di Google Pay untuk menyelesaikan transaksi.
  </Step>
</Steps>

### Pengujian Amazon Pay & Cash App Pay

Gunakan kunci API uji Anda dan ikuti alur checkout standar. Transaksi uji akan disimulasikan tanpa biaya nyata.

## Dukungan SDK

### SDK Web

Semua dompet digital didukung sepenuhnya di:

* Overlay Checkout
* Inline Checkout
* Integrasi API langsung

### SDK Mobile

<Warning>
  **Keterbatasan React Native:** Apple Pay, Google Pay, Cash App Pay, dan UPI **belum didukung saat ini** dalam SDK React Native. Gunakan overlay checkout berbasis web untuk aplikasi mobile yang memerlukan metode-metode ini.
</Warning>

Untuk dukungan mobile native, pertimbangkan:

* Membuka checkout di WebView
* Menggunakan [Overlay Checkout](/developer-resources/overlay-checkout) dalam konteks web
* Menerapkan SDK Apple Pay / Google Pay platform-native secara terpisah

## Praktik Terbaik

<AccordionGroup>
  <Accordion title="Prioritize wallets on mobile">
    Pengguna mobile mengharapkan Apple Pay dan Google Pay. Tampilkan opsi-opsi ini secara menonjol pada checkout mobile.
  </Accordion>

  <Accordion title="Complete domain verification early">
    Apple Pay memerlukan verifikasi domain. Jangan menunggu hingga hari peluncuran — mulai prosesnya selama pengembangan.
  </Accordion>

  <Accordion title="Always include card fallbacks">
    Tidak semua pelanggan memiliki dompet digital. Selalu sertakan `credit` dan `debit` dalam metode yang diizinkan Anda.
  </Accordion>

  <Accordion title="Test on real devices">
    Simulator tidak sepenuhnya mereplikasi perilaku dompet. Uji pada perangkat iOS dan Android yang sebenarnya sebelum peluncuran.
  </Accordion>

  <Accordion title="Handle wallet unavailability gracefully">
    Jika dompet tidak tersedia (perangkat yang salah, tidak ada kartu yang disimpan), pastikan opsi pembayaran lainnya terlihat.
  </Accordion>
</AccordionGroup>

## Pemecahan Masalah

<AccordionGroup>
  <Accordion title="Apple Pay button not appearing">
    **Periksa:**

    1. Domain diverifikasi dengan Dodo Payments?
    2. Menggunakan HTTPS?
    3. Perangkat adalah iOS 17+ / Safari 17+ / iPadOS 17+?
    4. Pelanggan memiliki kartu di Apple Wallet?
    5. `apple_pay` termasuk dalam `allowed_payment_method_types`?

    **Solusi:** Selesaikan verifikasi domain dan pastikan HTTPS. Uji pada perangkat Apple yang nyata.
  </Accordion>

  <Accordion title="Google Pay button not appearing">
    **Periksa:**

    1. Menggunakan Chrome atau browser yang kompatibel?
    2. Pelanggan memiliki kartu di Google Pay?
    3. Pengaturan Chrome "Izinkan situs memeriksa metode pembayaran" diaktifkan?
    4. `google_pay` termasuk dalam `allowed_payment_method_types`?

    **Solusi:** Verifikasi kompatibilitas browser dan pengaturan Google Pay pelanggan.
  </Accordion>

  <Accordion title="Wallet payment failed">
    **Penyebab Umum:**

    * Kartu dalam dompet kedaluwarsa atau tidak valid
    * Bank menolak transaksi
    * Masalah konektivitas jaringan

    **Solusi:** Pelanggan harus memverifikasi kartu di dompet mereka atau mencoba metode pembayaran yang berbeda.
  </Accordion>

  <Accordion title="Wrong device type">
    Dompet digital hanya muncul di perangkat yang kompatibel:

    * Apple Pay: Hanya perangkat Apple
    * Google Pay: Browser Chrome atau perangkat Android

    **Solusi:** Ini adalah perilaku yang diharapkan. Pastikan ketersediaan kartu cadangan.
  </Accordion>
</AccordionGroup>

## Halaman Terkait

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="credit-card" href="/features/payment-methods">
    Lihat semua metode pembayaran yang didukung.
  </Card>

  <Card title="Overlay Checkout" icon="window-restore" href="/developer-resources/overlay-checkout">
    Implementasi checkout dengan dukungan dompet digital.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Panduan pengujian lengkap untuk semua metode pembayaran.
  </Card>

  <Card title="React Native Integration" icon="mobile" href="/developer-resources/react-native-integration">
    Dokumentasi SDK mobile dan keterbatasan.
  </Card>
</CardGroup>
