Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Pendapatan
Platform dan situs belanja online
Manajemen uang
Sumber daya pengembang
Gambaran Umum
Tentang pembayaran Stripe
Upgrade integrasi Anda
Analitik pembayaran
Pembayaran online
Gambaran umumTemukan contoh penggunaan AndaManaged Payments
Gunakan Payment Links
Buat halaman checkout
    Gambaran umum
    Mulai cepat
    Sesuaikan tampilan dan nuansa
    Kumpulkan informasi tambahan
      Kumpulkan alamat fisik
      Charge untuk pengiriman
      Kumpulkan nomor telepon
      Tambahkan bidang custom
      Kumpulkan persetujuan untuk email promosi
    Pungut pajak
    Perbarui checkout secara dinamis
    Kelola katalog produk Anda
    Subscriptions
    Kelola metode pembayaran
    Mungkinkan pelanggan membayar dalam mata uang lokal
    Tambahkan diskon, upsell, dan item opsional
    Siapkan pembayaran mendatang
    Simpan detail pembayaran saat pembayaran
    Setujui pembayaran di server Anda secara manual
    Setelah pembayaran
    Log perubahan Elements dengan Checkout Sessions API beta
    Migrasi dari Checkout terdahulu
    Migrasi Checkout untuk menggunakan Harga
Bangun integrasi lanjutan
Bangun integrasi dalam aplikasi
Metode Pembayaran
Tambahkan metode pembayaran
Kelola metode pembayaran
Checkout lebih cepat dengan Link
Antarmuka pembayaran
Payment Links
Checkout
Web Elements
In-app Payments
Skenario pembayaran
Tangani beberapa mata uang
Alur pembayaran custom
Akuisisi fleksibel
Orkestrasi
Pembayaran di tempat
Terminal
Di luar pembayaran
Dirikan perusahaan Anda
Kripto
Financial Connections
Climate
Pahami penipuan
Perlindungan penipuan Radar
Kelola sengketa
Verifikasikan identitas
BerandaPembayaranBuild a checkout pageCollect additional information

Charge untuk pengiriman

Buat berbagai tarif pengiriman untuk pelanggan Anda.

Tarif pengiriman memungkinkan Anda menampilkan berbagai pilihan pengiriman—seperti standar, ekspres, dan besok sampai—dengan estimasi pengiriman yang lebih akurat. Charge pelanggan Anda untuk pengiriman menggunakan produk Stripe yang berbeda. Sebelum Anda membuat tarif pengiriman, pelajari cara mengumpulkan alamat tagihan dan pengiriman.

Catatan

Tarif pengiriman hanya mendukung nilai jumlah tetap untuk seluruh pesanan. Anda tidak dapat menyesuaikan tarif pengiriman berdasarkan jumlah item dalam pesanan.

Buat tarif pengiriman
Dashboard
Sisi server

Catatan

Tarif pengiriman hanya mendukung nilai jumlah tetap untuk seluruh pesanan. Anda tidak dapat menyesuaikan tarif pengiriman berdasarkan jumlah item dalam pesanan.

Untuk menambahkan tarif pengiriman menggunakan Dashboard:

  1. Klik Buat tarif pengiriman.
  2. Masukkan jumlah, deskripsi, dan estimasi pengiriman opsional.
  3. Klik Simpan, dan salin Identifikasi tarif pengiriman (shr_123456).

Masukkan detail tarif pengiriman Anda

Perbarui tarif pengiriman

Anda tidak dapat memperbarui tarif pengiriman di Dashboard. Untuk memperbarui tarif pengiriman di Dashboard, Anda harus mengarsipkan tarif pengiriman, kemudian membuat yang baru.

Arsipkan tarif pengiriman

Untuk mengarsipkan tarif pengiriman:

  1. Pada tab Tarif pengiriman, pilih tarif pengiriman yang berlaku.
  2. Klik menu perluasan , dan pilih Arsipkan.

Untuk membuka arsip tarif pengiriman, klik menu perluasan , dan pilih Buka arsip tarif pengiriman.

Buat Sesi Checkout
Sisi server

Untuk membuat Sesi Checkout yang menyertakan tarif pengiriman Anda, teruskan identifikasi tarif pengiriman yang dihasilkan ke parameter shipping_options. Jika Anda ingin membuat tarif pengiriman bersamaan dengan Sesi Checkout, gunakan parameter shipping_rate_data dengan shipping_options. Hanya Sesi Checkout dalam mode pembayaran yang mendukung opsi pengiriman.

Sampel kode berikut menambahkan dua opsi pengiriman ke Sesi Checkout:

  • Pengiriman gratis, dengan estimasi pengiriman 5-7 hari kerja.
  • Pengiriman semalam lewat udara, dengan biaya USD15,00, dengan estimasi pengiriman tepat 1 hari kerja.

Dalam contoh ini, opsi pertama di larik shipping_options telah dipilih sebelumnya bagi pelanggan pada halaman checkout. Namun, pelanggan dapat memilih salah satu opsi.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "shipping_address_collection[allowed_countries][0]"=US \ -d "shipping_address_collection[allowed_countries][1]"=CA \ -d "shipping_options[0][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]"=0 \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[0][shipping_rate_data][display_name]"="Free shipping" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]"=5 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]"=7 \ -d "shipping_options[1][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[1][shipping_rate_data][fixed_amount][amount]"=1500 \ -d "shipping_options[1][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[1][shipping_rate_data][display_name]"="Next day air" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]"=1 \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]"=1 \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Jika berhasil, pemilih pengiriman akan muncul pada halaman checkout Anda:

Pemilih pengiriman pada halaman checkout

Pemilih pengiriman pada halaman checkout

OpsionalTangani transaksi yang telah selesai

Setelah pembayaran berhasil, Anda dapat mengambil jumlah pengiriman di atribut amount_total pada shipping_cost. Anda juga dapat mengambil tarif pengiriman yang dipilih menggunakan atribut shipping_rate di shipping_cost. Untuk mengakses properti shipping_cost, Anda harus membuat handler kejadian guna menangani Sesi Checkout yang telah diselesaikan. Anda dapat mencoba handler dengan menginstal Stripe CLI dan menggunakan stripe listen --forward-to localhost:4242/webhookuntuk meneruskan kejadian ke server lokal Anda. Dalam contoh kode berikut, handler memungkinkan pengguna mengakses shipping_property:

Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
"sk_test_BQokikJOvBiI2HlWgH4olfQ2"
require 'sinatra' # You can find your endpoint's secret in your webhook settings endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end if event['type'] == 'checkout.session.completed' checkout_session = event['data']['object'] fulfill_order(checkout_session) end status 200 end def fulfill_order(checkout_session) selected_shipping_rate = Stripe::ShippingRate.retrieve(checkout_session.shipping_cost.shipping_rate) shipping_total = checkout_session.shipping_cost.amount_total # TODO: Remove error and implement... raise NotImplementedError.new(<<~MSG) Given the Checkout Session "#{checkout_session.id}" load your internal order from the database then implement your own fulfillment logic. MSG end

OpsionalDefinisikanestimasi pengiriman

Anda dapat mengonfigurasi tarif pengiriman menggunakan sejumlah kombinasi estimasi pengiriman. Tabel berikut berisi beberapa contoh estimasi pengiriman dalam bahasa Inggris biasa, serta nilai delivery_estimate.minimum dan delivery_estimate.maximum yang sesuai:

Perkiraan PengirimanMinimumMaksimum
1 hari
{ unit: 'day', value: 1, }
{ unit: 'day', value: 1, }
1 hari kerja
{ unit: 'business_day', value: 1, }
{ unit: 'business_day', value: 1, }
Minimal 2 hari kerja
{ unit: 'business_day', value: 2, }
null
3 hingga 7 hari
{ unit: 'day', value: 3, }
{ unit: 'day', value: 7, }
4 hingga 8 jam
{ unit: 'hour', value: 4, }
{ unit: 'hour', value: 8, }
4 jam hingga 2 hari kerja
{ unit: 'hour', value: 4, }
{ unit: 'business_day', value: 2, }

OpsionalCharge pajak untuk pengiriman

Anda dapat menggunakan Stripe Tax untuk menghitung pajak secara otomatis atas biaya pengiriman dengan mengatur tax_code dan tax_behavior pada tarif pengiriman. Stripe Tax secara otomatis menentukan apakah pengiriman akan dikenakan pajak (karena pengenaan pajak berbeda-beda tergantung negara bagian dan negara) serta menerapkan tarif pajak yang benar jika berlaku.

Ketika membuat tarif pengiriman dengan shipping_rate_data atau melalui Buat Tarif Pengiriman, Anda dapat menambahkan parameter tax_behavior dan tax_code ke tarif pengiriman.

Kami merekomendasikan pengaturan tax_code ke Shipping (txcd_92010001) untuk memastikan Anda selalu mengenakan pajak dengan benar. Anda juga dapat mengatur tarif pengiriman tax_code ke Nontaxable (txcd_00000000) jika tidak ingin men-charge pajak.

Untuk contoh ini, kami mengatur tax_behavior ke exclusive, yang umum di AS. Pelajari selengkapnya tentang perilaku pajak.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d billing_address_collection=required \ -d "shipping_address_collection[allowed_countries][0]"=US \ -d "shipping_address_collection[allowed_countries][1]"=CA \ -d "shipping_options[0][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]"=0 \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[0][shipping_rate_data][display_name]"="Free shipping" \ -d "shipping_options[0][shipping_rate_data][tax_behavior]"=exclusive \ -d "shipping_options[0][shipping_rate_data][tax_code]"=txcd_92010001 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]"=5 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]"=7 \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][price_data][tax_behavior]"=exclusive \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Pelanggan Anda dapat melihat jumlah pajak yang dihitung untuk tarif pengiriman yang telah disertakan menjadi total pajak penjualan pada halaman checkout:

Jumlah pajak yang dihitung untuk tarif pengiriman pada halaman checkout

Jumlah pajak yang dihitung untuk tarif pengiriman pada halaman checkout

Apakah halaman ini membantu?
YaTidak
  • Butuh bantuan? Hubungi Tim CS.
  • Bergabunglah dengan program akses awal kami.
  • Lihat log perubahan kami.
  • Ada pertanyaan? Hubungi Bagian Penjualan.
  • LLM? Baca llms.txt.
  • Dijalankan oleh Markdoc