- Κατευθυντήριες οδηγίες ενοποίησης
- Χρήση πολλαπλών προελεύσεων λεπτομερειών πληρωμής
Χρήση πολλαπλών προελεύσεων λεπτομερειών πληρωμής
Όταν εκτελείτε έναν αριθμό κλήσεων American Express PSPWeb-Services API (π.χ. Pay, Authorize, Refund, Capture, Save, Initiate Authentication, Authenticate Payer), πρέπει να δοθούν οι λεπτομέρειες της κάρτας. Αυτές οι λεπτομέρειες πληρωμής μπορούν να προσδιοριστούν χρησιμοποιώντας έναν αριθμό "προελεύσεων".
Υποστηριζόμενες πηγές
- Πεδία αιτήματος: Λεπτομέρειες πληρωμής που καθορίζονται απευθείας στο αίτημα (π.χ. αριθμός κάρτας, λήξη κάρτας, κωδικός ασφαλείας κάρτας).
- Περίοδος λειτουργίας: Οι λεπτομέρειες πληρωμής αποθηκεύονται για μια Περίοδο λειτουργίας πληρωμής.
- Token κάρτας: Λεπτομέρειες πληρωμής αποθηκευμένες σε ασφαλές αποθετήριο για ένα token (αν χρησιμοποιείτε Tokenisation).
Κανόνες προτεραιότητας
Αν μια λεπτομέρεια της κάρτας, π.χ. ο αριθμός της κάρτας, δίνεται περισσότερες από μία φορές σε ένα αίτημα, επειδή περιέχεται σε δύο ή περισσότερες προελεύσεις, οι κανόνες προτεραιότητας θα καθορίσουν ποια προέλευση θα χρησιμοποιηθεί. Η σειρά προτεραιότητας είναι ως εξής:
- Web-Services API Πεδία αιτήματος
- Αναγνωριστικό περιόδου λειτουργίας
- Token κάρτας
Δηλαδή, τα δεδομένα που περιέχονται στα πεδία αιτήματος Web-Services API θα αντικαταστήσουν τα δεδομένα που είναι αποθηκευμένα για μια περίοδο λειτουργίας (session) με αποτέλεσμα να αντικατασταθούν οι λεπτομέρειες token.
Για παράδειγμα, αν συμπεριλάβετε ταυτόχρονα ID περιόδου λειτουργίας (το οποίο περιέχει τον αριθμό κάρτας, τη λήξη κάρτας και τον CSC) και token (το οποίο περιέχει τον αριθμό κάρτας και τη λήξη κάρτας) σε ένα αίτημα Pay, τότε με βάση τη σειρά προτεραιότητας, οι λεπτομέρειες της κάρτας που προσδιορίζονται στο ID περιόδου λειτουργίας θα χρησιμοποιηθούν στην οικονομική συναλλαγή.
Προέλευση χρημάτων - Αναφορά API[REST][NVP]
Παραδείγματα
Μπορείτε να προσδιορίσετε τις λεπτομέρειες πληρωμής χρησιμοποιώντας μία προέλευση ή συνδυασμό προελεύσεων.
Εκτέλεση συναλλαγής με λεπτομέρειες από token και περίοδο λειτουργίας
Θέλετε να υποβάλετε μια πράξη Pay χρησιμοποιώντας τον αριθμό κάρτας και την ημερομηνία λήξης που έχουν αποθηκευθεί σε ένα token και το CSC που συλλέχθηκε σε μια περίοδο λειτουργίας. Το ακόλουθο παράδειγμα αιτήματος δείχνει τον τρόπο παροχής των προελεύσεων token και περιόδου λειτουργίας στο αίτημα Pay:
Μέθοδος HTTP | PUT |
URL | https://gateway-japa.americanexpress.com/api/rest/version/72/merchant/<merchant>/order/<orderId>/transaction/<transactionId> |
JSON |
{ "apiOperation": "PAY", "session": { "id": "SESSION000177777777777777777777" }, "sourceOfFunds": { "token": "9999999999999999" }, "order": { "amount": "34.00", "currency": "AUD" } } |
Για την παραπάνω JSON θεωρείται ότι:
- Μια περίοδος λειτουργίας με ένα αναγνωριστικό "SESSION000177777777777777777777" είχε δημιουργηθεί προηγουμένως και περιέχει τον CSC.
- Ένα token με αναγνωριστικό "9999999999999999" είχε αποθηκευθεί προηγουμένως και περιέχει τον αριθμό κάρτας και την ημερομηνία λήξης.
Ενημέρωση token με νέα ημερομηνία λήξης
Θέλετε να ενημερώσετε την ημερομηνία λήξης σε ένα αποθηκευμένο token χρησιμοποιώντας την πράξη Tokenization (αλλά να αφήσετε τον αριθμό κάρτας χωρίς να τον αλλάξετε). Το token που παρέχετε στη διεύθυνση URL αιτήματος προσδιορίζει το token που θέλετε να ενημερώσετε. Η παροχή αυτού του ίδιου token ως προέλευσης πληροφοριών πληρωμής θα έχει ως αποτέλεσμα να χρησιμοποιηθούν ξανά οι λεπτομέρειες που είχατε αποθηκεύσει προηγουμένως. Αυτό σημαίνει ότι δεν χρειάζεται να επανακτήσετε τον αριθμό κάρτας. Αν παρέχετε τη νέα ημερομηνία λήξης στην ενότητα "Λεπτομέρειες κάρτας" του αιτήματος, η τιμή αυτή θα αντικαταστήσει την ημερομηνία λήξης που έχει ήδη αποθηκευτεί στο token (βλ. Κανόνες προτεραιότητας).
Το ακόλουθο παράδειγμα αιτήματος δείχνει τον τρόπο παροχής λεπτομερειών πληρωμής και προελεύσεων token χρησιμοποιώντας την πράξη Tokenization:
Μέθοδος HTTP | PUT |
URL | https://gateway-japa.americanexpress.com/api/rest/version/72/merchant/<merchant>/token/9999999999999999 |
JSON |
{ "sourceOfFunds": { "provided": { "card": { "expiry": { "month": "05", "year": "13" }, "number": "5123456789012346" } }, "type": "CARD" } } |
Για την παραπάνω JSON θεωρείται ότι:
- Ένα token με αναγνωριστικό "9999999999999999" είχε αποθηκευθεί προηγουμένως και περιέχει έναν αριθμό κάρτας και μια ημερομηνία λήξης.
Το αποτέλεσμα αυτής της πράξης θα είναι ότι το token "9999999999999999" έχει πλέον ημερομηνία λήξης 05/13 (ο αριθμός κάρτας παραμένει ο ίδιος).