Μετάβαση στο κύριο περιεχόμενο

Έναρξη Payment for Stripe από την εφαρμογή σας (σχήματα URL)

Σύντομη απάντηση: Η εφαρμογή ή ο ιστότοπός σας ανοίγει μια διεύθυνση URL payment://, Payment for Stripe λαμβάνει την πληρωμή και, στη συνέχεια, ανοίγει τη διεύθυνση URL επανάκλησής σας με το αποτέλεσμα. Δεν υπάρχει SDK. Δεν λειτουργεί ο διακομιστής. Λειτουργεί το ίδιο σε iPhone και Android, με μερικές διαφορές που αναφέρονται παρακάτω.

Η πλήρης αναφορά βρίσκεται στη διεύθυνση paymentforstripe.com/api.

Πώς λειτουργεί

  1. Η εφαρμογή σας ανοίγει μια διεύθυνση URL payment:// με παραμέτρους.
  2. Payment for Stripe ανοίγει και ρυθμίζει την πώληση. Ο έμπορος λαμβάνει την πληρωμή με έναν αναγνώστη, Tap to Pay ή μια δακτυλογραφημένη κάρτα.
  3. Όταν ολοκληρωθεί, η εφαρμογή ανοίγει τη διεύθυνση 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&currency=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&currency=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 λειτουργεί επίσης.

Ήταν χρήσιμο αυτό το άρθρο;
0 στους 0 το βρήκαν χρήσιμο