Σύντομη απάντηση: Η εφαρμογή ή ο ιστότοπός σας ανοίγει μια διεύθυνση URL payment://, Payment for Stripe λαμβάνει την πληρωμή και, στη συνέχεια, ανοίγει τη διεύθυνση URL επανάκλησής σας με το αποτέλεσμα. Δεν υπάρχει SDK. Δεν λειτουργεί ο διακομιστής. Λειτουργεί το ίδιο σε iPhone και Android, με μερικές διαφορές που αναφέρονται παρακάτω.
Η πλήρης αναφορά βρίσκεται στη διεύθυνση paymentforstripe.com/api.
Πώς λειτουργεί
- Η εφαρμογή σας ανοίγει μια διεύθυνση URL
payment://με παραμέτρους. - Payment for Stripe ανοίγει και ρυθμίζει την πώληση. Ο έμπορος λαμβάνει την πληρωμή με έναν αναγνώστη, Tap to Pay ή μια δακτυλογραφημένη κάρτα.
- Όταν ολοκληρωθεί, η εφαρμογή ανοίγει τη διεύθυνση URL
callbackσας με το αποτέλεσμα να προστίθεται ως παράμετροι ερωτήματος.
Ο έμπορος πρέπει να είναι συνδεδεμένος. Εάν εμφανιστεί ένας σύνδεσμος ενώ εκτελείται μια άλλη χρέωση, η εφαρμογή τον απορρίπτει και η κλήση σας λαμβάνει error=charge_in_progress.
Δημιουργήστε μια χρέωση: payment://new
Μια εφάπαξ πληρωμή για ένα ποσό που ορίζετε εσείς.
| Ονομα | Τύπος | Υποχρεούμαι | Περιγραφή |
|---|---|---|---|
amount
|
ακέραιος αριθμός | Ναί | Ποσό στη μικρότερη μονάδα του νομίσματος, μεγαλύτερο από 1000 = 10,00 $. |
currency
|
σειρά | Οχι | Κωδικός ISO τριών γραμμάτων, όπως usd ή eur. Αν δεν τον συμπεριλάβετε, η εφαρμογή θα χρησιμοποιήσει το νόμισμα στο οποίο έχει ήδη οριστεί. |
description
|
σειρά | Οχι | Περιγραφή χρέωσης. Κωδικοποίηση URL. |
customer
|
σειρά | Οχι | Το υπάρχον αναγνωριστικό πελάτη Stripe ( cus_…). customer_id λειτουργεί επίσης. Όταν οριστεί, email και name αγνοούνται. |
email
|
σειρά | Οχι | Ηλεκτρονικό ταχυδρομείο πελάτη. Δημιουργεί έναν νέο πελάτη. |
name
|
σειρά | Οχι | Όνομα πελάτη. Κωδικοποίηση URL. Δημιουργία νέου πελάτη. |
metadata
|
σειρά | Οχι | Αντικείμενο JSON με κωδικοποίηση URL ζευγών κλειδιού-τιμής, που προστίθεται στην πληρωμή. Ισχύουν τα όρια μεταδεδομένων του Stripe. |
callback
|
σειρά | Οχι | URL που θα ανοίξει όταν ολοκληρωθεί η πώληση. |
autoprocess
|
λογικό | Οχι | true παρακάμπτει το πληκτρολόγιο και ξεκινά αμέσως τη φόρτιση. Η προεπιλεγμένη τιμή false. |
auto_return
|
λογικό | Οχι | Η true ανοίγει την επανάκληση μόλις γίνει γνωστό το αποτέλεσμα. Προεπιλογή false: η επανάκληση περιμένει μέχρι ο έμπορος να κλείσει την οθόνη αποτελεσμάτων. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete Ένας σύνδεσμος με ελλείπον, μηδενικό ή μη αριθμητικό amount αγνοείται.
Δημιουργήστε ένα τιμολόγιο από τον κατάλογό σας: payment://cart
Γεμίζει το καλάθι αγορών με τιμές από τον κατάλογο προϊόντων Stripe. Ο έμπορος χρεώνει στη συνέχεια ως συνήθως και η πώληση αποθηκεύεται στο Stripe ως πληρωμένο τιμολόγιο με αυτά τα στοιχεία γραμμής. Δεν αποστέλλει τιμολόγιο μέσω email στον πελάτη σας.
| Ονομα | Τύπος | Υποχρεούμαι | Περιγραφή |
|---|---|---|---|
prices
|
σειρά | Ναί | Ζεύγη price_id:quantity διαχωρισμένα με κόμμα, όπως price_abc:2,price_xyz:1. line_items λειτουργεί επίσης. |
coupon
|
σειρά | Οχι | Αναγνωριστικό κουπονιού Stripe για εφαρμογή στο καλάθι. |
customer
|
σειρά | Οχι | Το υπάρχον αναγνωριστικό πελάτη Stripe. customer_id λειτουργεί επίσης. |
email
|
σειρά | Οχι | Ηλεκτρονικό ταχυδρομείο πελάτη. Δημιουργεί έναν νέο πελάτη. |
name
|
σειρά | Οχι | Όνομα πελάτη. Κωδικοποιήστε το URL. |
metadata
|
σειρά | Οχι | Αντικείμενο JSON με κωδικοποίηση URL ζευγών κλειδιού-τιμής. |
callback
|
σειρά | Οχι | URL που θα ανοίξει όταν ολοκληρωθεί η πώληση. |
autoprocess
|
λογικό | Οχι | Η τιμή true ξεκινά τη χρέωση μόλις φορτωθούν όλες οι τιμές (και το κουπόνι). |
auto_return
|
λογικό | Οχι | Το ίδιο όπως παραπάνω. Προεπιλογή false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Μην στέλνετε amount με prices. Το σύνολο προέρχεται από τις τιμές και ένας σύνδεσμος και με τις δύο παραβλέπεται. Οι τιμές που είναι κρυμμένες με payment_hidden εξακολουθούν να λειτουργούν εδώ.
Πληρωμή υπάρχοντος τιμολογίου: payment://invoice
Εισπράττει μια αυτοπρόσωπη πληρωμή για ένα ανοιχτό τιμολόγιο Stripe. Το ποσό, το νόμισμα, ο πελάτης και ο φόρος προέρχονται όλα από το τιμολόγιο. Σε περίπτωση επιτυχίας, η εφαρμογή επισημαίνει το τιμολόγιο ως πληρωμένο. Λειτουργεί σε iPhone και Android.
| Ονομα | Τύπος | Υποχρεούμαι | Περιγραφή |
|---|---|---|---|
id
|
σειρά | Ναί | Αναγνωριστικό τιμολογίου Stripe. Πρέπει να ξεκινά με in_. Αποστολή ανοιχτού τιμολογίου. Στο iPhone, ένα προσχέδιο οριστικοποιείται πρώτα. Στο Android, ένα προσχέδιο απορρίπτεται με error=invoice_state_changed. |
metadata
|
σειρά | Οχι | Αντικείμενο JSON με κωδικοποίηση URL, που προστέθηκε στο PaymentIntent. |
callback
|
σειρά | Οχι | URL που θα ανοίξει όταν ολοκληρωθεί η πώληση. Λαμβάνει invoice_id και payment_intent_id σε περίπτωση επιτυχίας. |
autoprocess
|
λογικό | Οχι | true ξεκινά τη χρέωση αφού περάσουν οι έλεγχοι τιμολογίων, μόνο όταν είναι συνδεδεμένος ένας αναγνώστης καρτών. |
auto_return
|
λογικό | Οχι | Το ίδιο όπως παραπάνω. Προεπιλογή false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid Το τιμολόγιο ορίζει την πώληση, επομένως οποιοδήποτε από τα amount, currency, customer, customer_id, email, name, description, coupon, prices ή line_items έχει ως αποτέλεσμα την απόρριψη του συνδέσμου με error=invoice_invalid_param. Τα τιμολόγια που είναι πληρωμένα, άκυρα, μη εισπράξιμα, 0$, συνδεδεμένα με συνδρομή ή έχουν οριστεί να χρεώνουν μια προεπιλεγμένη μέθοδο πληρωμής απορρίπτονται επίσης, το καθένα με το δικό του σφάλμα invoice_….
Η επανάκληση
Η εφαρμογή προσθέτει τα εξής στη διεύθυνση URL επανάκλησής σας:
| Ονομα | Τύπος | Απεστάλη | Περιγραφή |
|---|---|---|---|
status
|
σειρά | Πάντοτε | success, error ή cancelled. |
charge_id
|
σειρά | Σχετικά με την επιτυχία | Το αναγνωριστικό της πληρωμής. Στο iPhone είναι η χρέωση Stripe ( ch_…). Στο Android είναι η Πρόθεση Πληρωμής ( pi_…). |
stripe_charge_id
|
σειρά | Μόνο για Android | Η χρέωση Stripe ( ch_…). |
payment_intent_id
|
σειρά | Σχετικά με την επιτυχία | Το PaymentIntent. Το iPhone το στέλνει μόνο για payment://invoice. Το Android το στέλνει για κάθε πληρωμή με κάρτα. |
invoice_id
|
σειρά | Σύνδεσμοι τιμολογίων | Το πληρωμένο τιμολόγιο, για payment://invoice. |
amount
|
ακέραιος αριθμός | Σχετικά με την επιτυχία | Ποσό που χρεώνεται, στη μικρότερη μονάδα. |
currency
|
σειρά | Σχετικά με την επιτυχία | Κώδικας ISO με πεζά γράμματα. |
error
|
σειρά | Σε περίπτωση σφάλματος | Ένας σύντομος κωδικός όπως charge_in_progress ή invoice_already_paid ή ένα ευανάγνωστο μήνυμα για μια κάρτα που απορρίφθηκε. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Χρειάζεστε το ίδιο ID και στις δύο πλατφόρμες; Διαβάστε πρώτα stripe_charge_id και, στη συνέχεια, επιστρέψτε στο charge_id.
Για παλαιότερες ενσωματώσεις, η εφαρμογή στέλνει επίσης success=true, chargeId, cancelled=true και error[message]. Ο νέος κώδικας θα πρέπει να διαβάζει status.
Μια ακύρωση ανοίγει αμέσως την επιστροφή κλήσης. Η επιτυχία ή το σφάλμα μιας χρέωσης περιμένει τον έμπορο να κλείσει την οθόνη αποτελεσμάτων, εκτός εάν περάσετε auto_return=true. Στο iPhone, μια πώληση με μετρητά δεν ανοίγει ποτέ την επιστροφή κλήσης, καθώς δεν χρεώθηκε τίποτα.
Κωδικοποίηση URL
- Κωδικοποιήστε κάθε τιμή που έχει κενά ή σύμβολα. Τα κενά γίνονται
%20,{και}γίνονται%7Bκαι%7D,"γίνεται%22,:γίνονται%3A. - Εάν η διεύθυνση URL επιστροφής κλήσης έχει τη δική της συμβολοσειρά ερωτήματος, κωδικοποιήστε ολόκληρη την επιστροφή κλήσης έτσι ώστε
&μην διαιρεί τον σύνδεσμοpayment://. - Τα κόμματα και οι άνω και κάτω τελείες στις
pricesμπορούν να παραμείνουν ως έχουν.
Τα μεταδεδομένα {"order_id":"1234","location":"Store A"} γίνονται:
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D Η παλαιότερη φόρμα metadata[order_id]=1234 λειτουργεί επίσης.