Τι χρειάζεστε
| Πεδίο | Τι κάνει |
|---|---|
| Access token | Μας επιτρέπει να καλέσουμε το Square για να δημιουργήσουμε τον σύνδεσμο checkout. Μυστικό. |
| Webhook signature key | Επιβεβαιώνει ότι ένα webhook ήρθε πραγματικά από το Square. Μυστικό. |
| Location ID | Η τοποθεσία Square που λαμβάνει την πληρωμή. Ορίζει το νόμισμα. |
| Success URL / Cancel URL | Πού καταλήγει ο αγοραστής αφού πληρώσει ή υπαναχωρήσει. |
Γιατί ζητάμε κάθε πεδίο
Access token
Εξουσιοδοτεί τη δημιουργία του συνδέσμου checkout, ώστε η χρέωση να περάσει μέσα από τον λογαριασμό σας.
Webhook signature key
Αποδεικνύει ότι ένα εισερχόμενο webhook προέρχεται πραγματικά από το Square, ώστε κανείς να μην μπορεί να πλαστογραφήσει ένα συμβάν "paid". Είναι ξεχωριστή τιμή από το access token.
Location ID
Λέει στο Square ποια τοποθεσία λαμβάνει τα χρήματα, και ορίζει το νόμισμα του checkout. Δεν είναι μυστικό.
Success and Cancel URL
Απλές ρυθμίσεις: πού καταλήγει ο αγοραστής αφού πληρώσει ή υπαναχωρήσει. Δεν είναι μυστικό.
Ρύθμιση
- Δημιουργήστε έναν δωρεάν λογαριασμό προγραμματιστή (χωρίς πληρωμή)
Ο λογαριασμός προγραμματιστή του Square είναι δωρεάν και περιλαμβάνει ένα ενσωματωμένο sandbox με δοκιμαστικές τοποθεσίες.
- Συνδεθείτε στο developer.squareup.com.
- Ανοίξτε ή δημιουργήστε μια εφαρμογή. Κάθε μία έχει μια πλευρά Production και μια πλευρά Sandbox. Ρυθμίστε πρώτα το sandbox, μετά επαναλάβετε στην παραγωγή.
- Αντιγράψτε τα διαπιστευτήριά σας
- Access token: η σελίδα Credentials (Production ή Sandbox).
- Location ID: η σελίδα Locations. Αντιγράψτε την τοποθεσία που πρέπει να λαμβάνει πληρωμές.
Square → Credentials & Locations - Προσθέστε το webhook
- Webhooks → Subscriptions, προσθέστε ένα endpoint.
- Ορίστε το notification URL στη διεύθυνση webhook του έργου σας (παρακάτω).
- Εγγραφείτε σε συμβάντα. Εφάπαξ πληρωμές: payment.created, payment.updated, refund.created, refund.updated, dispute.created, dispute.state.updated. Συνδρομές: subscription.created, subscription.updated, subscription.canceled, subscription.deactivated, invoice.payment_made, invoice.scheduled_charge_failed. Τα επιπλέον συμβάντα είναι ακίνδυνα.
- Αντιγράψτε το Signature key του endpoint. Ρυθμίστε ξεχωριστό endpoint σε sandbox και σε παραγωγή.
https://api.coinmoebius.com/webhook/square/<your project id>Square → Webhooks → Subscriptions - Δοκιμάστε με μια κάρτα sandbox
Οι κάρτες sandbox δεν χρεώνουν ποτέ πραγματική κάρτα. Κάρτα 4111 1111 1111 1111, CVV 111, οποιαδήποτε μελλοντική λήξη, οποιονδήποτε έγκυρο ταχυδρομικό κώδικα (για παράδειγμα 94103).
- Συνδέστε στον πίνακα ελέγχου
Add provider → Square. Εισαγάγετε Success URL, Cancel URL, και την ομάδα Live (Access token, Webhook signature key, Location ID). Προσθέστε την προαιρετική ομάδα Sandbox για δοκιμή. Η ομάδα Sandbox είναι όλα ή τίποτα: και τα τρία πεδία, ή κανένα. Το live και το sandbox ελέγχονται ξεχωριστά.
Αφού συνδεθείτε
Κάντε μία δοκιμαστική πληρωμή πριν βγείτε live:
- Δημιουργήστε ένα προϊόν και ορίστε το Environment του σε Testing. Αυτό τρέχει το προϊόν στα διαπιστευτήρια sandbox σας, ώστε να κάνετε μια πλήρη παραγγελία χωρίς να κινηθούν χρήματα. (Αν παραλείψατε το σύνολο sandbox, ένα προϊόν Testing επιστρέφει στο live, οπότε προσθέστε το πρώτα.)
- Τοποθετήστε το κουμπί αγοράς σε μια σελίδα (ένα τοπικό αρχείο HTML λειτουργεί) που δείχνει στο έργο σας.
- Ολοκληρώστε το checkout με την κάρτα δοκιμής sandbox από πάνω.
- Ανοίξτε την καρτέλα Transactions. Μια νέα γραμμή εμφανίζεται, με ετικέτα Testing. Όταν η κατάστασή της φτάσει στο succeeded, τα διαπιστευτήριά σας και το webhook λειτουργούν και τα δύο από άκρη σε άκρη.
Αλλάξτε το Environment του προϊόντος σε Live όταν είστε έτοιμοι για πραγματικές πληρωμές.
Αντιμετώπιση προβλημάτων
Ξεκινήστε με το Verify. Στον πίνακα ελέγχου, κάντε κλικ στο Verify (ή Verify test credentials) για να ελέγξετε το access token και την τοποθεσία σας.
Το Verify αποτυγχάνει.
Αντιγράψτε ξανά το access token και το Location ID. Το Production και το Sandbox έχουν ξεχωριστά tokens, οπότε μην τα μπερδεύετε.
Η επαλήθευση υπογραφής αποτυγχάνει, ή η παραγγελία μένει σε εκκρεμότητα.
Το Square υπογράφει πάνω από το ακριβές notification URL συν το σώμα. Το URL που καταχωρείτε στο Square πρέπει να ταιριάζει με το webhook URL σας χαρακτήρα προς χαρακτήρα, χωρίς κατάληξη slash και χωρίς επιπλέον query string. Στη συνέχεια αντιγράψτε ξανά το signature key από αυτό το ίδιο endpoint.
Επιβεβαιώστε το από άκρη σε άκρη.
Square Developer Console → Webhooks → your subscription → Send Test Event, και μετά παρακολουθήστε την παραγγελία να ενημερώνεται.
Καλό να γνωρίζετε
Το νόμισμα ακολουθεί την τοποθεσία. Το checkout χρεώνει στο νόμισμα της τοποθεσίας της οποίας το id παρέχετε.
Εναλλαγή μυστικών. Αλλάξτε το access token ή το signature key οποτεδήποτε, μετά επικολλήστε τη νέα τιμή. Τα μυστικά πεδία μένουν κενά κατά την επεξεργασία.
Ερωτήσεις; Join our Discord