Ana içeriğe geç

Uygulamanızdan Payment for Stripe başlatın (URL şemaları)

Kısa cevap: Uygulamanız veya web siteniz bir payment:// URL'si açar, Payment for Stripe ödemeyi alır ve ardından sonucu içeren geri çağırma URL'nizi açar. SDK yok. Sunucu çalışması yok. Aşağıda belirtilen birkaç fark dışında iPhone ve Android'de aynı şekilde çalışır.

Referansın tamamı paymentforstripe.com/api adresinde bulunmaktadır.

Nasıl çalışır?

  1. Uygulamanız, parametrelerle birlikte bir payment:// URL'si açar.
  2. Payment for Stripe başlar ve satış kurulur. Satıcı ödemeyi kart okuyucu, Tap to Pay veya kart bilgileriyle alır.
  3. İşlem tamamlandığında, uygulama, sonucu sorgu parametreleri olarak ekleyerek callback URL'nizi açar.

Satıcının oturum açmış olması gerekiyor. Başka bir ödeme işlemi devam ederken bir bağlantı gelirse, uygulama bunu reddeder ve geri bildiriminizde error=charge_in_progress oluşur.

Ödeme oluşturun: payment://new

Belirlediğiniz tutarda tek seferlik ödeme.

İsim Tip Gerekli Tanım
amount tamsayı Evet Para biriminin en küçük birimi cinsinden miktar, 0'dan büyük. 1000 = 10,00 ABD doları.
currency sicim HAYIR Üç harfli ISO kodu, örneğin usd veya eur. Bunu belirtmezseniz, uygulama önceden ayarlanmış olan para birimini kullanır.
description sicim HAYIR Ücret açıklaması. URL kodlaması yapın.
customer sicim HAYIR Mevcut Stripe müşteri kimliği ( cus_…). customer_id de çalışır. Ayarlandığında, email ve name dikkate alınmaz.
email sicim HAYIR Müşteri e-postası. Yeni bir müşteri oluşturur.
name sicim HAYIR Müşteri adı. URL kodlaması yapın. Yeni bir müşteri oluşturun.
metadata sicim HAYIR Ödeme işlemine eklenen, URL kodlamalı JSON formatında anahtar-değer çiftlerinden oluşan nesne. Stripe meta veri sınırları geçerlidir.
callback sicim HAYIR Satış tamamlandığında açılacak URL.
autoprocess mantıksal HAYIR true seçeneği tuş takımını atlar ve şarj işlemine hemen başlar. Varsayılan değer false tur.
auto_return mantıksal HAYIR true sonucun öğrenilmesinin hemen ardından geri çağırma işlevini açar. Varsayılan değer false: geri çağırma işlevi, satıcı sonuç ekranını kapatana kadar bekler.
 payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry
 payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Değeri eksik, sıfır veya sayısal amount bağlantılar dikkate alınmaz.

Kataloğunuzdan fatura oluşturun: payment://cart

Stripe ürün kataloğunuzdaki fiyatlarla sepeti doldurur. Ardından satıcı her zamanki gibi ücreti tahsil eder ve satış, bu kalemlerle birlikte Stripe ödenmiş bir fatura olarak kaydedilir. Müşterinize e-posta yoluyla fatura göndermez.

İsim Tip Gerekli Tanım
prices sicim Evet Virgülle ayrılmış price_id:quantity çiftleri, örneğin price_abc:2,price_xyz:1 gibi. line_items de çalışır.
coupon sicim HAYIR Sepete uygulanacak Stripe kupon kodu.
customer sicim HAYIR Mevcut Stripe müşteri kimliği. customer_id de geçerlidir.
email sicim HAYIR Müşteri e-postası. Yeni bir müşteri oluşturur.
name sicim HAYIR Müşteri adı. URL kodlaması yapın.
metadata sicim HAYIR Anahtar-değer çiftlerinden oluşan, URL kodlamalı JSON nesnesi.
callback sicim HAYIR Satış tamamlandığında açılacak URL.
autoprocess mantıksal HAYIR true, tüm fiyatlar (ve kuponlar) yüklendikten sonra ücretlendirmeyi başlatır.
auto_return mantıksal HAYIR Yukarıdakiyle aynı. Varsayılan değer false.
 payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com

prices birlikte amount göndermeyin. Toplam tutar fiyatlardan hesaplanır ve ikisini birlikte içeren bir bağlantı dikkate alınmaz. payment_hidden ile gizlenmiş fiyatlar burada hala çalışır.

Mevcut bir faturayı ödeyin: payment://invoice

Açık bir Stripe faturası için elden ödeme alır. Tutar, para birimi, müşteri ve vergi bilgileri faturadan alınır. Başarılı olduğunda, uygulama faturayı ödenmiş olarak işaretler. iPhone ve Android'de çalışır.

İsim Tip Gerekli Tanım
id sicim Evet Stripe fatura kimliği. in_ ile başlamalıdır. Açık bir fatura gönderin. iPhone'da önce taslak kesinleştirilir. Android'de taslak, error=invoice_state_changed hatasıyla reddedilir.
metadata sicim HAYIR URL kodlu JSON nesnesi, PaymentIntent'e eklendi.
callback sicim HAYIR Satış işlemi tamamlandığında açılacak URL. İşlem başarılı olduğunda invoice_id ve payment_intent_id alır.
autoprocess mantıksal HAYIR true seçeneği, fatura kontrolleri başarılı olduktan sonra ve yalnızca kart okuyucu bağlı olduğunda ücretlendirmeyi başlatır.
auto_return mantıksal HAYIR Yukarıdakiyle aynı. Varsayılan değer false.
 payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Fatura satışı belirler, bu nedenle amount, currency, customer, customer_id, email, name, description, coupon, prices veya line_items herhangi biri için bağlantı hatası oluşur ve error=invoice_invalid_param olarak verilir. Ödenmiş, geçersiz, tahsil edilemez, 0$, aboneliğe bağlı veya varsayılan ödeme yöntemiyle ücretlendirilecek şekilde ayarlanmış faturalar da reddedilir ve her birinin kendine özgü invoice_… hatası vardır.

Geri arama

Uygulama, bunları geri arama URL'nize ekler:

İsim Tip Gönderilmiş Tanım
status sicim Her zaman success, error veya cancelled.
charge_id sicim Başarı üzerine Ödemenin kimliği. iPhone'da Stripe charge ( ch_…) olarak, Android'de ise PaymentIntent ( pi_…) olarak gösterilir.
stripe_charge_id sicim Yalnızca Android Stripe ücreti ( ch_…).
payment_intent_id sicim Başarı üzerine PaymentIntent. iPhone bunu yalnızca payment://invoice için gönderir. Android ise her kart ödemesi için gönderir.
invoice_id sicim Fatura bağlantıları Ödenmiş fatura, payment://invoice.
amount tamsayı Başarı üzerine Tahsil edilen tutar, en küçük birim cinsinden.
currency sicim Başarı üzerine Küçük harfli ISO kodu.
error sicim Hata durumunda charge_in_progress veya invoice_already_paid gibi kısa bir kod ya da reddedilen kart için okunabilir bir mesaj.
 myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500&currency=usd&chargeId=ch_3Qx…

İki platformda da aynı kimliğe mi ihtiyacınız var? Önce stripe_charge_id okuyun, ardından charge_id geri dönün.

Eski entegrasyonlar için uygulama ayrıca success=true, chargeId, cancelled=true ve error[message] de gönderir. Yeni kod ise status okumalıdır.

İptal işlemi hemen geri çağırma işlevini açar. Ödeme işleminin başarılı veya başarısız olması durumunda, auto_return=true seçeneğini belirtmediğiniz sürece, satıcının sonuç ekranını kapatmasını bekler. iPhone'da, nakit satışlarda hiçbir ücret alınmadığı için geri çağırma işlevi asla açılmaz.

URL kodlaması

  • Boşluk veya sembol içeren her değeri kodlayın. Boşluklar %20 olur, { ve } işaretleri %7B ve %7D olur, " işareti %22 olur, : işareti %3A olur.
  • Geri arama URL'nizin kendi sorgu dizesi varsa, geri arama URL'sinin tamamını kodlayın, böylece & payment:// bağlantınızı bölmesin.
  • prices virgüller ve iki nokta üst üste işaretleri olduğu gibi kalabilir.

Metadata {"order_id":"1234","location":"Store A"} şu hale gelir:

 payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

Daha eski metadata[order_id]=1234 biçimi de çalışıyor.

Bu makale yardımcı oldu mu?
0 kişi içerisinden 0 kişi bunun yardımcı olduğunu düşündü