# 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](https://docs.stripe.com/payments/collect-addresses.md). # Halaman yang di-hosting > This is a Halaman yang di-hosting for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/during-payment/charge-shipping?payment-ui=stripe-hosted. ## Buat tarif pengiriman [Dashboard] [Sisi server] Tarif pengiriman hanya mendukung nilai jumlah tetap untuk seluruh pesanan. Anda tidak dapat menyesuaikan tarif pengiriman berdasarkan jumlah item dalam pesanan. #### Dashboard Untuk menambahkan [tarif pengiriman](https://dashboard.stripe.com/test/shipping-rates) menggunakan Dashboard: 1. Klik **Buat tarif pengiriman**. 1. Masukkan jumlah, deskripsi, dan estimasi pengiriman opsional. 1. Klik **Simpan**, dan salin Identifikasi tarif pengiriman (`shr_123456`). ![](https://b.stripecdn.com/docs-statics-srv/assets/create-shipping-rate-dashboard.ddd79821d5edee523d7da9d22682be59.png) Masukkan detail tarif pengiriman Anda ### Perbarui tarif pengiriman Anda tidak bisa memperbarui jumlah mata uang yang sudah diatur pada tarif pengiriman. Setelah mengatur mata uang dan jumlah pada tarif pengiriman, mata uang tersebut hanya dapat diperbarui untuk menyertakan mata uang baru. Untuk memperbarui tarif pengiriman di Dashboard, Anda harus mengarsipkan tarif pengiriman dan kemudian membuat yang baru. ### Arsipkan tarif pengiriman Untuk mengarsipkan tarif pengiriman: 1. Pada tab [Tarif pengiriman](https://dashboard.stripe.com/test/shipping-rates), pilih tarif pengiriman yang berlaku. 1. Klik menu perluasan ⋯, dan pilih **Arsipkan**. Untuk membuka arsip tarif pengiriman, klik menu perluasan ⋯, dan pilih **Buka arsip tarif pengiriman**. #### API > #### Tertarik dengan pembaruan tarif pengiriman dinamis? > > Checkout mendukung agar Anda dapat memperbarui tarif pengiriman secara dinamis berdasarkan alamat yang diberikan pelanggan atau nilai pesanan. Lihat [Sesuaikan opsi pengiriman secara dinamis](https://docs.stripe.com/payments/checkout/custom-shipping-options.md) tentang fitur pratinjau ini. [Buat tarif pengiriman](https://docs.stripe.com/api/shipping_rates.md), yang minimal, memerlukan parameter `type` dan `display_name`. Sampel kode berikut menggunakan kedua parameter ini bersama `fixed_amount` dan `delivery_estimate` untuk membuat tarif pengiriman: ```curl curl https://api.stripe.com/v1/shipping_rates \ -u "<>:" \ -d "display_name=Ground shipping" \ -d type=fixed_amount \ -d "fixed_amount[amount]=500" \ -d "fixed_amount[currency]=usd" \ -d "delivery_estimate[minimum][unit]=business_day" \ -d "delivery_estimate[minimum][value]=5" \ -d "delivery_estimate[maximum][unit]=business_day" \ -d "delivery_estimate[maximum][value]=7" ``` ### Perbarui tarif pengiriman Untuk [memperbarui tarif pengiriman](https://docs.stripe.com/api/shipping_rates/update.md), panggil `Stripe::ShippingRate.update`, dan perbarui parameter sesuai kebutuhan. ## Buat Sesi Checkout [Sisi server] Untuk membuat Sesi Checkout yang menyertakan tarif pengiriman Anda, teruskan identifikasi tarif pengiriman yang dihasilkan ke parameter [shipping_options](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-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](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) 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. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -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 di alur checkout Anda: ![Pemilih pengiriman dalam alur checkout](https://b.stripecdn.com/docs-statics-srv/assets/example-checkout-session.5807984bdc0a25ddb53aab00768dd079.jpg) Pemilih pengiriman dalam alur checkout ## Optional: Menangani transaksi yang telah selesai Setelah pembayaran berhasil, Anda dapat mengambil jumlah pengiriman di atribut [amount_total](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-amount_total) pada [shipping_cost](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-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](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) guna menangani Sesi Checkout yang telah diselesaikan. Anda dapat mencoba handler dengan [menginstal Stripe CLI](https://docs.stripe.com/stripe-cli.md) dan menggunakan `stripe listen --forward-to localhost:4242/webhook`untuk [meneruskan kejadian ke server lokal Anda](https://docs.stripe.com/webhooks.md#test-webhook). Dalam contoh kode berikut, handler memungkinkan pengguna mengakses `shipping_property`: #### Ruby ```ruby # 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 = "<>" 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 ``` ## Optional: Menentukan perkiraan 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 Pengiriman | Minimum | Maksimum | | ------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 1 hari | ```es6 { unit: 'day', value: 1, } ``` | ```es6 { unit: 'day', value: 1, } ``` | | 1 hari kerja | ```es6 { unit: 'business_day', value: 1, } ``` | ```es6 { unit: 'business_day', value: 1, } ``` | | Minimal 2 hari kerja | ```es6 { unit: 'business_day', value: 2, } ``` | ```es6 null ``` | | 3 hingga 7 hari | ```es6 { unit: 'day', value: 3, } ``` | ```es6 { unit: 'day', value: 7, } ``` | | 4 hingga 8 jam | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'hour', value: 8, } ``` | | 4 jam hingga 2 hari kerja | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'business_day', value: 2, } ``` | ## Optional: Mengenakan pajak untuk pengiriman Anda dapat menggunakan [Stripe Tax](https://docs.stripe.com/tax/checkout.md) 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](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#shipping-tax-code)) serta menerapkan tarif pajak yang benar jika berlaku. Ketika membuat tarif pengiriman dengan `shipping_rate_data` atau melalui [Buat Tarif Pengiriman](https://docs.stripe.com/api/shipping_rates/create.md), 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](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-behavior). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -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 diperhitungkan ke dalam total pajak penjualan di alur checkout Anda: ![Jumlah pajak yang dihitung untuk tarif pengiriman pada halaman checkout](https://b.stripecdn.com/docs-statics-srv/assets/taxed-shipping.14e1bb580c37e035fcf2f0016680db5a.jpg) Menghitung jumlah pajak untuk tarif pengiriman dalam alur checkout # Halaman tersemat > This is a Halaman tersemat for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/during-payment/charge-shipping?payment-ui=embedded-form. ## Buat tarif pengiriman [Dashboard] [Sisi server] Tarif pengiriman hanya mendukung nilai jumlah tetap untuk seluruh pesanan. Anda tidak dapat menyesuaikan tarif pengiriman berdasarkan jumlah item dalam pesanan. #### Dashboard Untuk menambahkan [tarif pengiriman](https://dashboard.stripe.com/test/shipping-rates) menggunakan Dashboard: 1. Klik **Buat tarif pengiriman**. 1. Masukkan jumlah, deskripsi, dan estimasi pengiriman opsional. 1. Klik **Simpan**, dan salin Identifikasi tarif pengiriman (`shr_123456`). ![](https://b.stripecdn.com/docs-statics-srv/assets/create-shipping-rate-dashboard.ddd79821d5edee523d7da9d22682be59.png) Masukkan detail tarif pengiriman Anda ### Perbarui tarif pengiriman Anda tidak bisa memperbarui jumlah mata uang yang sudah diatur pada tarif pengiriman. Setelah mengatur mata uang dan jumlah pada tarif pengiriman, mata uang tersebut hanya dapat diperbarui untuk menyertakan mata uang baru. Untuk memperbarui tarif pengiriman di Dashboard, Anda harus mengarsipkan tarif pengiriman dan kemudian membuat yang baru. ### Arsipkan tarif pengiriman Untuk mengarsipkan tarif pengiriman: 1. Pada tab [Tarif pengiriman](https://dashboard.stripe.com/test/shipping-rates), pilih tarif pengiriman yang berlaku. 1. Klik menu perluasan ⋯, dan pilih **Arsipkan**. Untuk membuka arsip tarif pengiriman, klik menu perluasan ⋯, dan pilih **Buka arsip tarif pengiriman**. #### API > #### Tertarik dengan pembaruan tarif pengiriman dinamis? > > Checkout mendukung agar Anda dapat memperbarui tarif pengiriman secara dinamis berdasarkan alamat yang diberikan pelanggan atau nilai pesanan. Lihat [Sesuaikan opsi pengiriman secara dinamis](https://docs.stripe.com/payments/checkout/custom-shipping-options.md) tentang fitur pratinjau ini. [Buat tarif pengiriman](https://docs.stripe.com/api/shipping_rates.md), yang minimal, memerlukan parameter `type` dan `display_name`. Sampel kode berikut menggunakan kedua parameter ini bersama `fixed_amount` dan `delivery_estimate` untuk membuat tarif pengiriman: ```curl curl https://api.stripe.com/v1/shipping_rates \ -u "<>:" \ -d "display_name=Ground shipping" \ -d type=fixed_amount \ -d "fixed_amount[amount]=500" \ -d "fixed_amount[currency]=usd" \ -d "delivery_estimate[minimum][unit]=business_day" \ -d "delivery_estimate[minimum][value]=5" \ -d "delivery_estimate[maximum][unit]=business_day" \ -d "delivery_estimate[maximum][value]=7" ``` ### Perbarui tarif pengiriman Untuk [memperbarui tarif pengiriman](https://docs.stripe.com/api/shipping_rates/update.md), panggil `Stripe::ShippingRate.update`, dan perbarui parameter sesuai kebutuhan. ## Buat Sesi Checkout [Sisi server] Untuk membuat Sesi Checkout yang menyertakan tarif pengiriman Anda, teruskan identifikasi tarif pengiriman yang dihasilkan ke parameter [shipping_options](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-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](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-mode) 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. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -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][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 \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Jika berhasil, pemilih pengiriman akan muncul di alur checkout Anda: ![Pemilih pengiriman dalam alur checkout](https://b.stripecdn.com/docs-statics-srv/assets/example-checkout-session.5807984bdc0a25ddb53aab00768dd079.jpg) Pemilih pengiriman dalam alur checkout ## Optional: Menangani transaksi yang telah selesai Setelah pembayaran berhasil, Anda dapat mengambil jumlah pengiriman di atribut [amount_total](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-amount_total) pada [shipping_cost](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-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](https://docs.stripe.com/checkout/fulfillment.md#create-payment-event-handler) guna menangani Sesi Checkout yang telah diselesaikan. Anda dapat mencoba handler dengan [menginstal Stripe CLI](https://docs.stripe.com/stripe-cli.md) dan menggunakan `stripe listen --forward-to localhost:4242/webhook`untuk [meneruskan kejadian ke server lokal Anda](https://docs.stripe.com/webhooks.md#test-webhook). Dalam contoh kode berikut, handler memungkinkan pengguna mengakses `shipping_property`: #### Ruby ```ruby # 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 = "<>" 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 ``` ## Optional: Menentukan perkiraan 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 Pengiriman | Minimum | Maksimum | | ------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | 1 hari | ```es6 { unit: 'day', value: 1, } ``` | ```es6 { unit: 'day', value: 1, } ``` | | 1 hari kerja | ```es6 { unit: 'business_day', value: 1, } ``` | ```es6 { unit: 'business_day', value: 1, } ``` | | Minimal 2 hari kerja | ```es6 { unit: 'business_day', value: 2, } ``` | ```es6 null ``` | | 3 hingga 7 hari | ```es6 { unit: 'day', value: 3, } ``` | ```es6 { unit: 'day', value: 7, } ``` | | 4 hingga 8 jam | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'hour', value: 8, } ``` | | 4 jam hingga 2 hari kerja | ```es6 { unit: 'hour', value: 4, } ``` | ```es6 { unit: 'business_day', value: 2, } ``` | ## Optional: Mengenakan pajak untuk pengiriman Anda dapat menggunakan [Stripe Tax](https://docs.stripe.com/tax/checkout.md) 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](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#shipping-tax-code)) serta menerapkan tarif pajak yang benar jika berlaku. Ketika membuat tarif pengiriman dengan `shipping_rate_data` atau melalui [Buat Tarif Pengiriman](https://docs.stripe.com/api/shipping_rates/create.md), 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](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#tax-behavior). ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -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 \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Pelanggan Anda dapat melihat jumlah pajak yang dihitung untuk tarif pengiriman yang diperhitungkan ke dalam total pajak penjualan di alur checkout Anda: ![Jumlah pajak yang dihitung untuk tarif pengiriman pada halaman checkout](https://b.stripecdn.com/docs-statics-srv/assets/taxed-shipping.14e1bb580c37e035fcf2f0016680db5a.jpg) Menghitung jumlah pajak untuk tarif pengiriman dalam alur checkout