Lompat ke konten

Rencana Pembayaran Bulanan iOS

GitHub

Apple mendukung langganan yang membayar bulanan sementara memastikan pelanggan untuk masa kontrak yang lebih lama 12 bulan. Ketika StoreKit dan OS yang berjalan mendukung rencana tagihan ini, @capgo/native-purchases mengungkapkan syarat harga, memungkinkan Anda memilih rencana tagihan bulanan selama pembelian, dan mengembalikan metadata komitmen pada transaksi dan informasi perpanjangan.

Gunakan ini untuk menawarkan langganan tahunan di mana pengguna lebih suka pembayaran bulanan tetapi Anda masih ingin kestabilan dan prediktabilitas dari komitmen tahunan.

  • Konfigurasi bulanan dengan rencana pembayaran komitmen 12 bulan di App Store Connect atau di StoreKit Testing di Xcode.
  • Buat aplikasi iOS dengan Xcode SDK yang mengandung StoreKit pricingTerms dan billingPlanType.
  • Jalankan pada versi iOS yang mendukung rencana pembayaran komitmen StoreKit.
  • Tetapkan opsi pembayaran standar untuk perangkat atau toko yang tidak mendukung istilah harga komitmen.

Tunggu sebentar. Untuk produk langganan iOS yang didukung, setiap produk dapat mencakup getProducts() Salin ke clipboard pricingTerms.

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.app.premium.yearly'],
productType: PURCHASE_TYPE.SUBS,
});
const premiumYearly = products.find(
(product) => product.identifier === 'com.example.app.premium.yearly',
);
const monthlyCommitment = premiumYearly?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);

Bidang

Gunakan untukJumlah tagihan berulang yang ditampilkan kepada pengguna, misalnya biaya bulanan.
billingDisplayPriceKadensi tagihan untuk harga tagihan yang ditampilkan.
billingPeriodTotal harga komitmen yang diformat untuk toko penjualan pengguna.
commitmentInfo.priceStringJangka waktu komitmen penuh.
commitmentInfo.periodas usual. For supported iOS subscription products, each product can include
subscriptionOffersTawaran promosi yang terkait dengan istilah harga.

Contoh teks pemblokiran berbayar:

function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) {
const total = term.commitmentInfo?.priceString;
return total
? `${term.billingDisplayPrice} billed monthly, ${total} total commitment`
: term.billingDisplayPrice;
}

Ketika pengguna memilih rencana komitmen bulanan, lakukan billingPlanType: 'monthly'.

const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.app.premium.yearly',
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
appAccountToken: userStoreUuid,
});

Hanya gunakan ketika Anda perlu memilih secara eksplisit rencana pembayaran maju sebelumnya. Jika Anda mengabaikan billingPlanType: 'upFront' , StoreKit menggunakan perilaku pembelian defaultnya untuk produk. billingPlanTypeSaran

Salin ke clipboard

if (transaction.billingPlanType === 'monthly') {
console.log('Current billing period:', transaction.commitmentInfo?.billingPeriodNumber);
console.log('Total billing periods:', transaction.commitmentInfo?.totalBillingPeriods);
console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate);
console.log('Commitment total:', transaction.commitmentInfo?.price);
}

Salin ke clipboard

const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
onlyCurrentEntitlements: true,
});
for (const purchase of purchases) {
const commitment = purchase.renewalInfo?.commitmentInfo;
if (!commitment) continue;
console.log('Renews into another commitment:', commitment.willAutoRenew);
console.log('Next billing plan:', commitment.renewalBillingPlanType);
console.log('Next renewal date:', commitment.renewalDate);
}

__CAPGO_KEEP_4__ expirationDate __CAPGO_KEEP_5__ isActive __CAPGO_KEEP_6__ commitmentInfo.expirationDate __CAPGO_KEEP_7__

  • Tampilkan harga tagihan berulang dan harga komitmen total sebelum pembelian.
  • Jelaskan panjang komitmen secara eksplisit di dekat tombol pembelian.
  • Pakai product.title, product.priceString, pricingTerms[].billingDisplayPrice, dan pricingTerms[].commitmentInfo.priceString dari StoreKit alih-alih harga yang dikodekan secara manual.
  • Beri aksi memulihkan pembelian dan mengelola langganan di layar pembayaran atau layar akun.

Teruskan dari Rencana Pembayaran Bulanan iOS

Judul Bagian “Teruskan dari Rencana Pembayaran Bulanan iOS”

Jika Anda menggunakan Rencana Pembayaran Bulanan iOS untuk merencanakan pembayaran dan pembelian, hubungkan dengan Menggunakan @capgo/native-purchases untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, Capgo Pricing untuk alur kerja produk dalam Capgo Pricing, Sistem Pembayaran untuk detail implementasi dalam Sistem Pembayaran @capgo/native-purchases for the implementation detail in @capgo/native-purchases, and Mula Menggunakan untuk detail implementasi di Mula Menggunakan.