Συναλλαγές με διαπιστευτήρια στο αρχείο
Οι ακόλουθες ενότητες περιγράφουν τον τρόπο υποβολής συναλλαγών που εκκινούνται από τον κάτοχο της κάρτας και από τον έμπορο (CIT και MIT) στο American Express PSP προκειμένου να συμμορφώνονται με τα πρότυπα του προγράμματος κάρτας για τη διεκπεραίωση αυτών των συναλλαγών:
- Πληρωμές που εκκινούνται από τον κάτοχο κάρτας:
- Πληρωμές που εκκινούνται από εμπόρους:
Για γενικές πληροφορίες σχετικά με τα παραπάνω σενάρια, βλ. Πληρωμές που εκκινούνται από τον κάτοχο κάρτας και τον έμπορο. Για πλήρη παραδείγματα των αιτημάτων για όλα τα σενάρια, πραγματοποιήστε λήψη της συλλογής Postman.
Κάθε φορά που υποβάλλετε πολλές πληρωμές σε μια σειρά, η πρώτη συναλλαγή πρέπει να είναι CIT που παρέχει την έγκριση του κατόχου της κάρτας για ολόκληρη τη σειρά. Οι επακόλουθες συναλλαγές είναι συνήθως MIT. Σε όλα τα αιτήματα, μπορείτε να χρησιμοποιήσετε το πεδίο transaction.source
για να προσδιορίσετε αν μια συναλλαγή έχει ξεκινήσει από τον κάτοχο της κάρτας ή από τον έμπορο και το πεδίο sourceOfFunds.provided.card.storedOnFile
για να υποδείξετε αν οι λεπτομέρειες πληρωμής πρόκειται να αποθηκευτούν, έχουν αποθηκευτεί προηγουμένως ή σκοπεύετε να τα αποθηκεύσετε. Για περισσότερες πληροφορίες, βλ. Συχνές ερωτήσεις.
- Τα παραπάνω σενάρια υποστηρίζονται από το API v74 και νεότερη έκδοση.
- Για να μπορείτε να υποβάλετε τυχόν MIT, ο Your payment service provider (PSP) σας πρέπει να έχει ενεργοποιημένο το MERCHANT ως επιτρεπόμενη προέλευση συναλλαγής στον σύνδεσμο σε τράπεζα εμπόρου.
- Αν θέλετε να αποθηκεύσετε τις λεπτομέρειες πληρωμής του πληρωτή στην πύλη και να χρησιμοποιήσετε ένα token για να ανατρέξετε στις αποθηκευμένες λεπτομέρειες, ο PSP σας πρέπει να διαμορφώσει το προφίλ εμπόρου για tokenization πύλης.
Οι συναλλαγές CIT γενικά
Μια συναλλαγή CIT μπορεί να είναι μια εφάπαξ πληρωμή όπου συνήθως δεν αποθηκεύετε τις λεπτομέρειες της πληρωμής που δίνονται από τον πληρωτή. Ωστόσο, ο πληρωτής μπορεί να συναινέσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση (συνήθως ως μέρος μιας διαδικασίας εγγραφής πελάτη ή δημιουργίας λογαριασμού), ώστε να μπορείτε να προσφέρετε επακόλουθες συναλλαγές που εκκινούνται από τον κάτοχο της κάρτας χρησιμοποιώντας τις αποθηκευμένες λεπτομέρειες πληρωμής.
- Στο αίτημα αρχικής συναλλαγής με νέο πελάτη, πρέπει να δώσετε τα ακόλουθα πεδία:
sourceOfFunds.type = CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν παρέχετε τις ανεπεξέργαστες λεπτομέρειες της κάρτας ή ένα token (έχοντας ήδη κάνει tokenization των λεπτομερειών της κάρτας).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source = INTERNET
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή έχει εκκινηθεί από τον κάτοχο της κάρτας. Μπορείτε να ορίσετε την τιμή σε
INTERNET
,MOTO
,MAIL_ORDER
,TELEPHONE_ORDER
,VOICE_RESPONSE
ήCALL_CENTER
.sourceOfFunds.provided.card.storedOnFile = TO_BE_STORED
Η τιμή υποδεικνύει ότι ο πληρωτής συμφωνεί να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση.
INTERNET
. Ωστόσο, θα πρέπει να υποδείξετε το κανάλι μέσω του οποίου λάβατε την πληρωμή.Σε τυχόν επακόλουθες πληρωμές που εκκινούνται από τον πληρωτή (όχι από εσάς) και όπου χρησιμοποιούνται οι αποθηκευμένες λεπτομέρειες πληρωμής του πληρωτή, πρέπει να δώσετε τα ακόλουθα πεδία στο αίτημα:
-
sourceOfFunds.type = CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν οι λεπτομέρειες έχουν αποθηκευτεί από εσάς ή από την πύλη (στην περίπτωση αυτή παρέχετε ένα token).
-
Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
-
transaction.source = INTERNET
-
sourceOfFunds.provided.card.storedOnFile = STORED
Για περισσότερες λεπτομέρειες σχετικά με το πώς μπορείτε να υποδείξετε στην πύλη πώς και αν θα αποθηκευτούν οι λεπτομέρειες, βλ. Συχνές ερωτήσεις.
CIT με 3DS
Οι CIT μπορούν να ταυτοποιηθούν με 3DS για την αναγνώριση του κατόχου της κάρτας και την πρόληψη των περιστατικών απάτης. Μπορείτε να χρησιμοποιήσετε το 3DS σε:
- Μοναδικές CIT
- Οι CIT που αποτελούν το πρώτο βήμα σε μια σειρά πληρωμών, όπου οι επακόλουθες συναλλαγές είναι MIT
- Σενάρια όπου θέλετε να ταυτοποιήσετε τον κάτοχο της κάρτας όταν προσθέτετε την κάρτα του στον λογαριασμό πελάτη για μελλοντική χρήση
Ο παρακάτω πίνακας περιγράφει ορισμένες λεπτομερείς περιπτώσεις χρήσης που σχετίζονται με την ταυτοποίηση 3DS. Για περισσότερες πληροφορίες τόσο για την ταυτοποίηση 3DS στην πύλη όσο και για τη χρήση εξωτερικής έγκρισης για τις συναλλαγές πληρωμών, βλ. Ταυτοποίηση 3DS.
Περίπτωση χρήσης | Βήματα ενοποίησης |
---|---|
Συμφωνία με τον πληρωτή για επαναλαμβανόμενες πληρωμές, συμπεριλαμβανομένης μιας αρχικής χρέωσης στη συναλλαγή CIT |
Βήμα 1: Εκτελέστε ταυτοποίηση όπως περιγράφεται στις Κατευθυντήριες οδηγίες ταυτοποίησης και καθορίστε το ποσό που απαιτείται για την αρχική πληρωμή. Βήμα 2: Δημιουργήστε το αίτημα CIT με τις λεπτομέρειες που ορίζονται στην ενότητα Πληρωμές που εκκινούνται από τον κάτοχο κάρτας και προσθέστε ένα από τα ακόλουθα:
|
Συμφωνία με τον πληρωτή για επαναλαμβανόμενες πληρωμές, συμπεριλαμβανομένης της μη αρχικής χρέωσης της CIT |
Αυτή η περίπτωση χρήσης καλύπτει σειρές επαναλαμβανόμενων πληρωμών όπου δεν απαιτείται πληρωμή τη στιγμή που ο πληρωτής εγγράφεται για την υπηρεσία. Κατά την εκτέλεση της ταυτοποίησης όπως περιγράφεται στο θέμα Ταυτοποίηση 3DS, χρησιμοποιήστε τα πρόσθετα πεδία που καθορίζονται στα ακόλουθα βήματα για να ενσωματώσετε το 3DS για επαναλαμβανόμενες πληρωμές. Βήμα 1: Εκτελέστε την πράξη INITIATE AUTHENTICATION και ορίστε το authentication.purpose σε ADD_CARD ή MAINTAIN_CARD. Βήμα 2: Εκτελέστε την πράξη AUTHENTICATE PAYER με τα ακόλουθα πεδία:
Βήμα 3: Ως το αίτημα CIT, εκτελέστε το αίτημα πράξης VERIFY και προσθέστε ένα από τα ακόλουθα:
Αν χρησιμοποιείτε την ενοποίηση Hosted Session, ολοκληρώστε τα βήματα 1 και 2 εντός της περιόδου λειτουργίας και, στη συνέχεια, χρησιμοποιήστε το ID περιόδου λειτουργίας (από την περίοδο λειτουργίας που δημιουργήθηκε για τα βήματα 1 και 2) κατά την αποστολή του αιτήματος από τον διακομιστή σας στο βήμα 3.
|
Προσθήκη κάρτας χωρίς συμφωνία πληρωμής |
Αυτή η περίπτωση χρήσης καλύπτει ένα σενάριο όπου ο πληρωτής θέλει να προσθέσει τις λεπτομέρειες της κάρτας του ενώ δημιουργεί το προφίλ του ή τον λογαριασμό πελάτη μαζί σας χωρίς καμία άμεση πληρωμή. Ο πληρωτής μπορεί να χρησιμοποιήσει την αποθηκευμένη κάρτα στο μέλλον για εφάπαξ πληρωμές ή για να συνάψει συμφωνία πληρωμής για μια σειρά πληρωμών. Βήμα 1: Εκτελέστε την πράξη INITIATE AUTHENTICATION και ορίστε το authentication.purpose σε ADD_CARD ή MAINTAIN_CARD. Βήμα 2: Εκτελέστε την πράξη AUTHENTICATE PAYER και ορίστε το ποσό στο 0. Βήμα 3: Ως το αίτημα CIT, εκτελέστε το αίτημα πράξης VERIFY και προσθέστε ένα από τα ακόλουθα:
Αν χρησιμοποιείτε την ενοποίηση Hosted Session, ολοκληρώστε τα βήματα 1 και 2 εντός της περιόδου λειτουργίας και, στη συνέχεια, χρησιμοποιήστε το ID περιόδου λειτουργίας (από την περίοδο λειτουργίας που δημιουργήθηκε για τα βήματα 1 και 2 κατά την αποστολή του αιτήματος από τον διακομιστή σας στο βήμα 3.
|
Τα ακόλουθα πεδία απαιτούνται στην πράξη AUTHENTICATE PAYER για να έχετε μια επιτυχημένη επαναλαμβανόμενη συναλλαγή:
- Όταν χρησιμοποιείτε το API v61 ή νεότερη έκδοση:
- agreement.id
- agreement.type=RECURRING
- agreement.numberOfPayments
- agreement.amountVariability
- agreement.expiryDate
- agreement.paymentFrequency
- agreement.minimumDaysBetweenPayments
Όταν χρησιμοποιείτε το API v57 - v60:
- agreement.id
- agreement.type=RECURRING
- agreement.expiryDate
- agreement.recurring.daysBetweenPayments
CIT με τα Hosted Checkout και αποθηκευμένα διαπιστευτήρια
Για να δημιουργήσετε ένα CIT με το Hosted Checkout όταν δεν υπάρχουν αποθηκευμένα διαπιστευτήρια:
- Στείλτε ένα αίτημα πράξης INITIATE CHECKOUT με
interaction.saveCardForCredentialOnFile = PAYER_INITIATED_PAYMENTS
.Το Hosted Checkout παρέχει στον πληρωτή τις διαθέσιμες επιλογές πληρωμής στο παράθυρο "Επιλογές πληρωμής".
- Τα διαπιστευτήρια σε αρχείο με τα σενάρια Hosted Checkout υποστηρίζονται από το API v74 και νεότερη έκδοση.
- Αν υποστηρίζετε τον τρόπο πληρωμής Click to Pay, το Hosted Checkout δεν τον εμφανίζει ξεχωριστά στη σελίδα πληρωμής της. Από τον πληρωτή ζητείται η διεύθυνση email του και αν ο πληρωτής έχει προφίλ Click to Pay, οι κάρτες που έχει αποθηκεύσει για το προφίλ του παρατίθενται στην ενότητα "Χρεωστική ή πιστωτική".
- Ο πληρωτής επιλέγει Χρεωστική ή Πιστωτική.
Το Hosted Checkout δεν εμφανίζεται ούτε συνδέεται με τους Όρους και τις Προϋποθέσεις ή τις Πολιτικές Απορρήτου. Αποτελεί δική σας ευθύνη να παρέχετε αυτές τις λεπτομέρειες στον πληρωτή, όπως απαιτείται από τυχόν ρυθμιστικούς κανονισμούς ή νόμους περί απορρήτου.
- Ο πληρωτής μπορεί να πληρώσει με ή χωρίς την παροχή συναίνεσης στην πύλη, δηλαδή με ή χωρίς την επιλογή του πλαισίου ελέγχου Αποθήκευση αυτής της κάρτας για μελλοντικές αγορές.
- Αν ο πληρωτής προχωρήσει στην πληρωμή χωρίς να δώσει τη συγκατάθεσή του, η διαδικασία πληρωμής εξελίσσεται ως συνήθως.
- Αν ο πληρωτής προχωρήσει στην πληρωμή δίνοντας τη συγκατάθεσή του, τότε το Hosted Checkout:
- Ορίζει τη σωστή ένδειξη "Κάρτα στο αρχείο"
- Υποβάλετε το αίτημα συναλλαγής PAY (αν
interaction.operation=AUTHORIZE
) μεsourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
καιtransaction.payerConsentForStoringCardDetails=PAYER_INITIATED_PAYMENTS
.
Πρέπει να συμμορφώνεστε με το πρόγραμμα και τις κανονιστικές απαιτήσεις (π.χ. με τον κανονισμό ΓΚΠΔ). Πρέπει να παρέχετε στον πληρωτή μια επιλογή για ανάκληση της συγκατάθεσης και διαγραφή του token πύλης.
Αν ο πληρωτής πληρώνει με άλλον τρόπο εκτός από πιστωτική κάρτα, όπως ACH (Automated Clearing House) ή PayPal, ισχύει η τυπική διαδικασία checkout. Η πύλη αποθηκεύει μόνο τις λεπτομέρειες της κάρτας, επομένως αν θέλετε να αποθηκεύσετε τυχόν λεπτομέρειες πληρωμής που σχετίζονται με άλλους τρόπους πληρωμής, πρέπει να το κάνετε μόνοι σας αφού λάβετε τη συναίνεση του πληρωτή. - Αφού η πύλη επιστρέψει τον πληρωτή στον ιστότοπο του καταστήματός σας, υποβάλετε ένα αίτημα πράξης
RETRIEVE_ORDER
.- Αν ο πληρωτής έχει δώσει τη συναίνεσή του, η απόκριση περιέχει το πεδίο
transaction.payerConsentForStoringCardDetails=PAYER_INITIATED_PAYMENTS
. - Για να δημιουργήσετε το token που μπορείτε να χρησιμοποιήσετε για να κάνετε αναφορά στα διαπιστευτήρια που είναι αποθηκευμένα στην πύλη, χρησιμοποιήστε την πράξη CREATE OR UPDATE TOKEN. Για περισσότερες λεπτομέρειες, βλ. Tokenization πύλης.
- Αν ο πληρωτής έχει δώσει τη συναίνεσή του, η απόκριση περιέχει το πεδίο
- Για οποιαδήποτε επακόλουθη πληρωμή που εκκινείται από τον κάτοχο της κάρτας, στείλτε το αίτημα πράξης INITIATE CHECKOUT με:
interaction.tokens
που περιέχει το token πύληςinteraction.saveCardForCredentialOnFile=PAYER_INITIATED_PAYMENTS
Αυτό το πεδίο επιτρέπει στον πληρωτή να εισάγει νέες λεπτομέρειες κάρτας και να τις αποθηκεύσει αν δεν θέλει να χρησιμοποιήσει τις προηγούμενες.
Το Hosted Checkout εμφανίζει τις διαθέσιμες επιλογές πληρωμής και τις αποθηκευμένες κάρτες στον πληρωτή.
- Αν ο πληρωτής επιλέξει Χρεωστική ή πιστωτική, αναφέρονται οι λεπτομέρειες για το token και ο πληρωτής μπορεί να επιλέξει να πληρώσει με το token ή να προσθέσει τις λεπτομέρειες για άλλη κάρτα.
CIT με το Hosted Checkout για την έγκριση των MIT
Για να συλλέξετε τη συναίνεση από τον πληρωτή με το Hosted Checkout προκειμένου να αποθηκεύσει τις λεπτομέρειες πληρωμής του για τις επόμενες MIT (π.χ. δημιουργώντας έναν λογαριασμό πληρωτή στο σύστημά σας και αποθηκεύοντας τις λεπτομέρειες στον λογαριασμό):
- Στείλτε ένα αίτημα πράξης INITIATE CHECKOUT με:
agreement.id
Μοναδική τιμή που δημιουργείται από εσάς για τον προσδιορισμό μιας συμφωνίας πληρωμής με τον πληρωτή. Πρέπει να την υποβάλετε σε επόμενες MIT για να συνδέσετε τις πληρωμές σε μια σειρά. Αυτό απαιτείται για τη συμμόρφωση με τις εντολές του προγράμματος κάρτας όπου το ID συμφωνίας λειτουργεί ως ID για τη σύνδεση της προηγούμενης CIT με τις επακόλουθες MIT.
agreement.type
Είδος εμπορικής συμφωνίας που έχει συναφθεί με τον πληρωτή.
- Τα διαπιστευτήρια σε αρχείο με τα σενάρια Hosted Checkout υποστηρίζονται από το API v74 και νεότερη έκδοση.
- Οι λεπτομέρειες της συμφωνίας χρειάζονται μόνο αν σκοπεύετε να διεκπεραιώσετε αργότερα MIT που σχετίζονται με CIT. Αν σκοπεύετε να διεκπεραιώσετε μόνο CIT με τις αποθηκευμένες λεπτομέρειες πληρωμής, δεν απαιτείται συμφωνία.
Το Hosted Checkout παρέχει στον πληρωτή τις επιλογές πληρωμής με χρεωστική ή πιστωτική κάρτα.
- Πρέπει να συμμορφώνεστε με το πρόγραμμα και τις κανονιστικές απαιτήσεις, για παράδειγμα, τον ΓΚΠΔ. Πρέπει να δώσετε στον πληρωτή μια επιλογή να αφαιρέσει τη συναίνεση και να διαγράψει τα αποθηκευμένα διαπιστευτήρια.
- Είναι δική σας ευθύνη να διασφαλίσετε ότι τα στοιχεία που δεν χρειάζονται συμφωνίες δεν περιλαμβάνονται στην παραγγελία ή στη συναλλαγή.
- Ο πληρωτής μπορεί να συνεχίσει μόνο δίνοντας συγκατάθεση, δηλαδή επιλέγοντας το πλαίσιο ελέγχου. Το κουμπί πληρωμής είναι απενεργοποιημένο μέχρι να επιλέξει το πλαίσιο ελέγχου.
Αν ο πληρωτής δώσει τη συγκατάθεσή του, το Hosted Checkout υποβάλλει το αίτημα συναλλαγής με τις ακόλουθες τιμές:
sourceOfFunds.provided.card.storedOnFile = TO_BE_STORED
transaction.payerConsentForStoringCardDetails = MERCHANT_INITIATED_PAYMENTS
- Αφού η πύλη επιστρέψει τον πληρωτή στον ιστότοπό σας, υποβάλετε ένα αίτημα πράξης RETRIEVE ORDER:
- Αν ο πληρωτής έχει δώσει τη συναίνεσή του, η απόκριση περιέχει το πεδίο
transaction.payerConsentForStoringCardDetails = MERCHANT_INITIATED_PAYMENTS
. - Αν ο πληρωτής δεν έχει δώσει τη συναίνεσή του, ο πληρωτής δεν μπορεί να προχωρήσει (το καλάθι έχει εγκαταλειφθεί).
- Αν ο πληρωτής έχει δώσει τη συναίνεσή του, η απόκριση περιέχει το πεδίο
Επαναλαμβανόμενες πληρωμές που εκκινούνται από τον έμπορο
Μπορείτε να υποβάλετε επαναλαμβανόμενες πληρωμές για διεκπεραίωση στην πύλη αν ο πληρωτής συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση και έχετε μια συμφωνία πληρωμής με τον πληρωτή που σας εγκρίνει να εκκινήσετε επακόλουθες επαναλαμβανόμενες πληρωμές χωρίς την ενεργή συμμετοχή του πληρωτή.
Στο αρχικό αίτημα CIT, πρέπει να δώσετε τα ακόλουθα πεδία για να ετοιμάσετε τη συμφωνία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν παρέχετε τις ανεπεξέργαστες λεπτομέρειες της κάρτας ή ένα token (έχοντας ήδη κάνει tokenization των λεπτομερειών της κάρτας).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=INTERNET, and
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή έχει εκκινηθεί από τον κάτοχο της κάρτας.
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
Η τιμή υποδεικνύει ότι ο πληρωτής συμφωνεί να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση.
agreement.id
Μοναδική τιμή που δημιουργείται από εσάς για τον προσδιορισμό μιας συμφωνίας πληρωμής με τον πληρωτή.
agreement.type
=RECURRING
Συμφωνία πάγιας εντολής που έχετε συνάψει με τον πληρωτή.
- Όταν χρησιμοποιείτε το API v61 και νεότερη έκδοση:
agreement.numberOfPayments
agreement.amountVariability
agreement.expiryDate
agreement.paymentFrequency
agreement.minimumDaysBetweenPayments
- Όταν χρησιμοποιείτε το API v57 - v60:
agreement.expiryDate
agreement.recurring.daysBetweenPayments
Σε τυχόν επακόλουθα αιτήματα MIT, πρέπει να δώσετε τα ακόλουθα πεδία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν οι λεπτομέρειες έχουν αποθηκευτεί από εσάς ή από την πύλη (στην περίπτωση αυτή παρέχετε ένα token).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=MERCHANT
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή εκκινήθηκε από τον έμπορο.
sourceOfFunds.provided.card.storedOnFile
=STORED
agreement.id
Η τιμή πρέπει να είναι το ίδιο agreement.id όπως δόθηκε στην αρχική συναλλαγή CIT. Αυτό επιτρέπει στην πύλη να συνδέει τις πληρωμές σε μια σειρά και πρέπει να συμμορφώνεται με τις εντολές του προγράμματος κάρτας όπου το ID συμφωνίας λειτουργεί ως ID για τη σύνδεση της προηγούμενης CIT με τις επακόλουθες MIT.
Πληρωμές σε δόσεις που εκκινούνται από τον έμπορο
Μπορείτε να υποβάλετε πληρωμές σε δόσεις για διεκπεραίωση στην πύλη, εφόσον ο πληρωτής συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση και έχετε συμφωνία πληρωμής με τον πληρωτή για να χωρίσετε μια μεμονωμένη αγορά σε έναν αριθμό πληρωμών που διεκπεραιώνονται σε συμφωνημένα χρονικά διαστήματα.
Στο αρχικό αίτημα CIT, πρέπει να δώσετε τα ακόλουθα πεδία για να ετοιμάσετε τη συμφωνία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν παρέχετε τις ανεπεξέργαστες λεπτομέρειες της κάρτας ή ένα token (έχοντας ήδη κάνει tokenization των λεπτομερειών της κάρτας).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=INTERNET
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή έχει εκκινηθεί από τον κάτοχο της κάρτας.
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
Η τιμή υποδεικνύει ότι ο πληρωτής συμφωνεί να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση.
agreement.id
Μοναδική τιμή που δημιουργείται από εσάς για τον προσδιορισμό μιας συμφωνίας πληρωμής με τον πληρωτή.
agreement.type
=INSTALLMENT
Συμφωνία πάγιας εντολής που έχετε συνάψει με τον πληρωτή.
- Όταν χρησιμοποιείτε το API v61 και νεότερη έκδοση:
agreement.numberOfPayments
agreement.amountVariability
agreement.expiryDate
agreement.paymentFrequency
agreement.minimumDaysBetweenPayments
- Όταν χρησιμοποιείτε το API v57 - v60:
agreement.expiryDate
agreement.recurring.daysBetweenPayments
Σε τυχόν επακόλουθα αιτήματα MIT, πρέπει να δώσετε τα ακόλουθα πεδία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν οι λεπτομέρειες έχουν αποθηκευτεί από εσάς ή από την πύλη (στην περίπτωση αυτή παρέχετε ένα token).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή εκκινήθηκε από τον έμπορο.
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED
agreement.id
Η τιμή πρέπει να είναι το ίδιο
agreement.id
όπως δόθηκε στην αρχική συναλλαγή CIT. Αυτό επιτρέπει στην πύλη να συνδέει τις πληρωμές σε μια σειρά και πρέπει να συμμορφώνεται με τις εντολές του προγράμματος κάρτας όπου το ID συμφωνίας λειτουργεί ως ID για τη σύνδεση της προηγούμενης CIT με τις επακόλουθες MIT.
Μη προγραμματισμένες πληρωμές που εκκινούνται από τον έμπορο
Μπορείτε να υποβάλετε μη προγραμματισμένες πληρωμές για διεκπεραίωση στην πύλη εφόσον ο πληρωτής συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση και έχετε μια συμφωνία πληρωμής με τον πληρωτή που σας εγκρίνει να εκκινήσετε επακόλουθες μη προγραμματισμένες πληρωμές χωρίς την ενεργή συμμετοχή του πληρωτή.
Στο αρχικό αίτημα CIT, πρέπει να δώσετε τα ακόλουθα πεδία για να ετοιμάσετε τη συμφωνία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν παρέχετε τις ανεπεξέργαστες λεπτομέρειες της κάρτας ή ένα token (έχοντας ήδη κάνει tokenization των λεπτομερειών της κάρτας).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=INTERNET
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή έχει εκκινηθεί από τον κάτοχο της κάρτας.
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
Η τιμή υποδεικνύει ότι ο πληρωτής συμφωνεί να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση.
agreement.id
Μοναδική τιμή που δημιουργείται από εσάς για τον προσδιορισμό μιας συμφωνίας πληρωμής με τον πληρωτή.
agreement.type
=UNSCHEDULED
Συμφωνία πάγιας εντολής που έχετε συνάψει με τον πληρωτή.
- Όταν χρησιμοποιείτε το API v61 και νεότερη έκδοση:
agreement.numberOfPayments
agreement.amountVariability
agreement.paymentFrequency
- Όταν χρησιμοποιείτε το API v57 - v60:
agreement.expiryDate
agreement.recurring.daysBetweenPayments
Σε τυχόν επακόλουθα αιτήματα MIT, πρέπει να δώσετε τα ακόλουθα πεδία:
sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
Η τιμή εξαρτάται από το αν οι λεπτομέρειες έχουν αποθηκευτεί από εσάς ή από την πύλη (στην περίπτωση αυτή παρέχετε ένα token).
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=MERCHANT
Η τιμή υποδεικνύει στην πύλη ότι η συναλλαγή εκκινήθηκε από τον έμπορο.
sourceOfFunds.provided.card.storedOnFile
=STORED
agreement.id
: Το ίδιο agreement.id όπως αυτό που δόθηκε στην αρχική συναλλαγή. Αυτό επιτρέπει στην πύλη να συνδέει πληρωμές σε μια σειρά.Η τιμή πρέπει να είναι το ίδιο agreement.id όπως δόθηκε στην αρχική συναλλαγή CIT. Αυτό επιτρέπει στην πύλη να συνδέει τις πληρωμές σε μια σειρά και πρέπει να συμμορφώνεται με τις εντολές του προγράμματος κάρτας όπου το ID συμφωνίας λειτουργεί ως ID για τη σύνδεση της προηγούμενης CIT με τις επακόλουθες MIT.
Πληρωμές βιομηχανικής πρακτικής εκκινούνται από τον έμπορο
Μπορείτε να υποβάλετε πληρωμές βιομηχανικής πρακτικής για επεξεργασία στην πύλη αν ο πληρωτής σάς επιτρέπει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση και σας εγκρίνει να ξεκινήσετε επακόλουθες MIT χωρίς την ενεργό συμμετοχή του πληρωτή.
Στο αίτημα MIT πρακτικής κλάδου, πρέπει να δώσετε τα ακόλουθα πεδία:
order.industryPracticePaymentReason
Τύπος πληρωμής κλάδου που δημιουργείτε, για παράδειγμα, DELAYED_CHARGE, NO_SHOW_PENALTY ή PARTIAL_SHIPMENT.
sourceofFunds.provided.card.storedOnFiles = STORED
Η τιμή υποδηλώνει ότι ο πληρωτής έχει συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση.
referenceOrderId
ID παραγγελίας από την προηγούμενη CIT. Η πύλη χρησιμοποιεί αυτό το πεδίο για να αναζητήσει το ID παρακολούθησης για την προηγούμενη CIT.
transaction.acquirer.traceid
Trace ID. Αυτό το πεδίο περιέχει το authorizationResponse.transactionIdentifier από την απόκριση της αρχικής CIT της σειράς. Αυτό το πεδίο απαιτείται μόνο αν το ID παραγγελίας αναφοράς δεν είναι διαθέσιμο. Αν δώσετε ID συμφωνίας και δεν δώσετε ID παραγγελίας αναφοράς ή ID παρακολούθησης για κάρτες συναλλαγών με Mastercard, το Gateway θα παρέχει ένα προεπιλεγμένο ID παρακολούθησης πύλης.
Παράδειγμα ροής πρακτικής του κλάδου
Αρχική CIT:
order.id
= "OD12345"transaction.id
= "TRAN 1"agreement.id =
= "AGR 1"sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=INTERNET
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
Επακόλουθη MIT πρακτικής του κλάδου, που υποβλήθηκε ως νέα παραγγελία, λόγω καθυστερημένης χρέωσης:
order.id
="OD45678"
transaction.id
= "TRAN 2"agreement.id =
= "AGR 1"sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED
order.industryPracticePaymentReason
=DELAYED_CHARGE
referenceOrderId
="OD12345"
Πληρωμές εκ νέου υποβολής που εκκινήθηκαν από τον έμπορο
Μπορείτε να υποβάλετε εκ νέου ανεπιτυχείς πληρωμές για διεκπεραίωση στην πύλη αν ο πληρωτής έχει συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του για μελλοντική χρήση και η απόκριση του εκδότη στην ανεπιτυχή πληρωμή δεν σας απαγορεύει να προσπαθήσετε ξανά αργότερα.
Στο αίτημα εκ νέου υποβολής της MIT, πρέπει να δώσετε τα ακόλουθα πεδία:
order.id
Σε περίπτωση επανυποβολής MIT, χρησιμοποιήστε το ίδιο ID παραγγελίας όπως στην πρώτη MIT, αλλά ένα νέο transaction.id, καθώς η πύλη δεν επιτρέπει διπλότυπα αναγνωριστικά συναλλαγής εντός της ίδιας παραγγελίας.
transaction.resubmission = "true"
Ένδειξη ότι αυτή η MIT αποτελεί εκ νέου υποβολή για προηγούμενη αποτυχημένη έγκριση.
referenceOrderId
ID παραγγελίας από την προηγούμενη CIT. Η πύλη χρησιμοποιεί αυτό το πεδίο για να αναζητήσει το ID παρακολούθησης για την προηγούμενη CIT.
- Αν η προηγούμενη CIT εκτελέστηκε εκτός της πύλης, θα πρέπει αντ' αυτού να δώσετε το εξής:
transaction.acquirer.traceid
Trace ID. Αυτό το πεδίο περιέχει το
authorizationResponse.transactionIdentifier
από την απόκριση της αρχικής CIT της σειράς. Αυτό το πεδίο απαιτείται μόνο αν το ID παραγγελίας αναφοράς δεν είναι διαθέσιμο. - Αν δώσετε ID συμφωνίας και δεν δώσετε ID παραγγελίας αναφοράς ή ID παρακολούθησης για κάρτες συναλλαγών με Mastercard, το Gateway θα παρέχει ένα προεπιλεγμένο ID παρακολούθησης πύλης.
Παράδειγμα ροής εκ νέου υποβολής
Αρχική CIT:
order.id
= "OD12345"transaction.id
= "TRAN 1"agreement.id
= "AGR 1"sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=INTERNET
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
Πρώτη MIT, που υποβλήθηκε ως νέα παραγγελία, ως πληρωμή σύμφωνα την πρακτική του κλάδου, λόγω καθυστερημένης χρέωσης:
order.id
="OD5678"
transaction.id
= "TRAN 2"sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED
order.industryPracticePaymentReason
=DELAYED_CHARGE
referenceOrderId
="OD12345"
Μετά την αποτυχία της πρώτης MIT λόγω ανεπαρκών χρημάτων, αποστέλλεται μια δεύτερη MIT ως εκ νέου υποβολή (ίδια παραγγελία):
order.id
="OD5678"
transaction.id
= "TRAN 3"sourceOfFunds.type
=CARD
ήSCHEME_TOKEN
- Τα πεδία
sourceOfFunds.provided.card.*
ή τοsourceOfFunds.token
transaction.source
=MERCHANT
sourceOfFunds.provided.card.storedOnFile
=STORED
order.industryPracticePaymentReason
=DELAYED_CHARGE
transaction.resubmission
="true"
Συχνές ερωτήσεις
Πώς μπορώ να υποδείξω στην πύλη τον τρόπο χειρισμού των λεπτομερειών πληρωμής;
Για συμμόρφωση με τα πρότυπα προγραμμάτων καρτών όσον αφορά τη διεκπεραίωση συναλλαγών CIT και MIT, πρέπει να χρησιμοποιήσετε το πεδίο sourceOfFunds.provided.card.storedOnFile
για να υποδείξετε στην πύλη αν οι λεπτομέρειες πληρωμής αποθηκεύονται, δεν αποθηκεύονται ή σκοπεύετε να τις αποθηκεύσετε.
Για την αρχική CIT:
- Αν πρόκειται για εφάπαξ πληρωμή και δεν σκοπεύετε να αποθηκεύσετε τις λεπτομέρειες πληρωμής, παραλείψτε το πεδίο
sourceOfFunds.provided.card.storedOnFile
στο αίτημα. -
Αν αυτή είναι η πρώτη φορά που ο πληρωτής συναλλάσσεται μαζί σας και οι λεπτομέρειες πληρωμής του δεν έχουν αποθηκευτεί στο παρελθόν, αλλά τώρα σκοπεύετε να τις αποθηκεύσετε για μελλοντική χρήση, ορίστε
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
. Αυτό υποδεικνύει στην πύλη ότι ο πληρωτής έχει συμφωνήσει να αποθηκεύσετε τις λεπτομέρειες πληρωμής του. Πρέπει να ορίσετε αυτήν την τιμή ανεξάρτητα από τα εξής:- Πώς αποθηκεύετε τις λεπτομέρειες πληρωμής - στη δική σας εφαρμογή ή στον δικό σας ιστότοπο (απαιτείται να είστε συμβατοί με PCI) ή χρησιμοποιώντας tokenization πύλης ή δικτύου.
- Είτε αποθηκεύετε τις λεπτομέρειες πληρωμής πριν είτε μετά την υποβολή της συναλλαγής στην πύλη.
Αν χρησιμοποιείτε Hosted Checkout ή Hosted Session, μπορείτε να αποθηκεύσετε τις λεπτομέρειες πληρωμής χρησιμοποιώντας tokenization πύλης ή δικτύου αφού ολοκληρωθεί η αρχική CIT και ο πληρωτής έχει δώσει τις λεπτομέρειες πληρωμής του στην πύλη. Χρησιμοποιήστε την πράξη CREATE OR UPDATE TOKEN με το αντίστοιχο ID περιόδου λειτουργίας.
Αν χρησιμοποιείτε Web-Services API ή Hosted Batch, μπορείτε να αποθηκεύσετε τις λεπτομέρειες πριν ή μετά την ολοκλήρωση της αρχικής CIT.
- Αν ο πληρωτής είναι επανερχόμενος πελάτης και έχετε αποθηκεύσει τις λεπτομέρειες πληρωμής του νωρίτερα για διαφορετική παραγγελία, δεν χρειάζεται να αποθηκεύσετε ξανά τις λεπτομέρειες πληρωμής του. Ωστόσο, αν χρησιμοποιείτε τη νέα CIT για να δημιουργήσετε μια συμφωνία με τον πληρωτή για μελλοντικές MIT που σχετίζονται με αυτή την CIT, ορίστε
sourceOfFunds.provided.card.storedOnFile
=TO_BE_STORED
. Αυτό υποδεικνύει στην πύλη ότι θα χρησιμοποιείτε αυτές τις λεπτομέρειες για μελλοντικές συναλλαγές MIT.
Για επακόλουθες πληρωμές, ορίστε το sourceOfFunds.provided.card.storedOnFile
=STORED
για να υποδείξετε ότι στην πληρωμή χρησιμοποιούνται τα διαπιστευτήρια στο αρχείο. Αυτό ισχύει επίσης σε περιπτώσεις όπου ο πληρωτής επιστρέφει και οι αποθηκευμένες λεπτομέρειες πληρωμής του χρησιμοποιούνται για μια νέα CIT που δεν απαιτεί νέα συμφωνία για μελλοντικές MIT.
Τι γίνεται αν δεν έχω ID συμφωνίας;
Αν δεν έχετε μοναδικό ID για τη συμφωνία σας με τον πληρωτή, μπορείτε να κάνετε τα εξής:
- Δημιουργήστε ένα ID συμφωνίας για αλληλεπίδραση με την πύλη. Στη συνέχεια, πρέπει να το αποθηκεύσετε και να το υποβάλετε στην πύλη για όλες τις πληρωμές της σειράς, συμπεριλαμβανομένης της CIT.
- Χρησιμοποιήστε ένα υπάρχον ID (το οποίο αποθηκεύετε ήδη στο σύστημά σας), για παράδειγμα, το ID παραγγελίας για την πρώτη πληρωμή στη σειρά.
Χρησιμοποιείτε πάντα ένα ID συμφωνίας, εφόσον είναι δυνατόν, καθώς μια μοναδική ένδειξη τιμής μεταξύ εσάς και του πληρωτή. Για παράδειγμα, αν ο πληρωτής πρέπει να ανανεώσει το ασφαλιστήριό του, το ID συμφωνίας μπορεί να είναι ο αριθμός του ασφαλιστηρίου.
Σε ορισμένες περιπτώσεις, ενδέχεται να μην έχετε πρόσβαση στο αρχικό ID συμφωνίας. Για παράδειγμα:
- Η συμφωνία έγινε πριν από πολύ καιρό και οι λεπτομέρειες δεν είχαν τηρηθεί στο αρχείο.
- Δεν γνωρίζετε το αρχικό ID συμφωνίας ή έγινε σε άλλη πύλη πληρωμής.
Σε αυτές τις περιπτώσεις, δεν μπορείτε να δημιουργήσετε ένα νέο ID συμφωνίας, αλλά πρέπει να χρησιμοποιήσετε ένα ID παραγγελίας αναφοράς ή ένα ID παρακολούθησης.
Το ID παραγγελίας αναφοράς αντικατοπτρίζει την πιο πρόσφατη παραγγελία στη σειρά συναλλαγών. Για παράδειγμα, αν η σειρά των συναλλαγών περιλαμβάνει μια αρχική CIT και 2 επακόλουθες MIT:
- Η αρχική CIT έχει το ID παραγγελίας = 1
- Η πρώτη MIT έχει το ID παραγγελίας = 2 και χρησιμοποιεί το ID παραγγελίας αναφοράς = 1 (καθώς αναφέρεται στην αρχική CIT)
- H δεύτερh MIT έχει το ID παραγγελίας = 3 και χρησιμοποιεί το ID παραγγελίας αναφοράς = 2 (καθώς αναφέρεται στην πρώτη MIT, το οποίο είναι το πιο πρόσφατο ID παραγγελίας στη σειρά)
Το ID παρακολούθησης (ονομάζεται επίσης ID συναλλαγής προγράμματος) είναι ένα μοναδικό ID που εκδίδουν όλα τα προγράμματα για κάθε συναλλαγή που διεκπεραιώνεται μέσω αυτών. Το ID παρακολούθησης χρησιμοποιείται για την αναγνώριση συσχετισμένων συναλλαγών, για παράδειγμα:
- Επακόλουθη συναλλαγή CAPTURE
- Αντιλογισμό συναλλαγής
- Συνδεδεμένη συναλλαγή REFUND AUTHORIZATION
- Επακόλουθη συναλλαγή σε μια σειρά επαναλαμβανόμενων πληρωμών, πληρωμών σε δόσεις ή μη προγραμματισμένων πληρωμών
- AUTHORIZATION προς ενημέρωση
Τα προγράμματα χρησιμοποιούν διαφορετικές μεθόδους για τη δημιουργία αυτού του ID:
- Η Mastercard δημιουργεί ένα ID που συνδυάζει:
- Τριψήφιο κωδικό οικονομικού δικτύου
- Αριθμό αναφοράς Banknet (AN6)
- Ημερομηνία συναλλαγής (MMDD)
- Η VISA δημιουργεί ένα ID που είναι μοναδικό για κάθε αρχική συναλλαγή.
- Η Amex δημιουργεί ένα ID που είναι μοναδικό για κάθε αρχική συναλλαγή.
Χρειάζεται να υποβάλω μια πληρωμή κατά τη σύναψη της συμφωνίας πληρωμής;
Όχι. Αν δεν σκοπεύετε να χρεώσετε τον πληρωτή κατά τη σύναψη συμφωνίας πληρωμής μαζί του, για παράδειγμα, σε περίπτωση συνδρομής σε περιοδικό όπου η πρώτη πληρωμή έχει προγραμματιστεί σε 30 ημέρες, πρέπει να υποβάλετε ένα αίτημα VERIFY με τις λεπτομέρειες της συμφωνίας:
agreement.id
agreement.type
Η συναλλαγή Verify γίνεται η πρώτη CIT της σειράς. Για επακόλουθες πληρωμές, χρησιμοποιήστε το agreement.id
για να συνδέσετε πληρωμές στη σειρά.
Αν ο πληρωτής έχει ταυτοποιηθεί στην πύλη χρησιμοποιώντας ταυτοποίηση 3DS, μπορείτε να δώσετε το authentication.transactionId
από τον αποτέλεσμα ταυτοποίησης στην πύλη στο αίτημα VERIFY για σύνδεση της ταυτοποίησης με τη συμφωνία πληρωμής. Για συναλλαγές που ταυτοποιούνται εξωτερικά, βλ. τις συχνές ερωτήσεις στην Ταυτοποίηση 3DS.
Τι γίνεται αν αλλάξουν οι λεπτομέρειες πληρωμής για μια συμφωνία;
Οι λεπτομέρειες πληρωμής σε μια συμφωνία μπορούν να αλλάξουν αν, για παράδειγμα:
- Ο πληρωτής έχασε την κάρτα του και του εκδόθηκε νέα κάρτα.
- Ο πληρωτής άλλαξε την τράπεζά του.
- Η κάρτα είχε ανεπαρκή χρήματα και ο πληρωτής παρείχε άλλες λεπτομέρειες πληρωμής
Αν οι λεπτομέρειες της κάρτας έχουν αλλάξει (εκτός από την περίπτωση επανέκδοσης ληγμένης κάρτας και token δικτύου), πρέπει να εκτελέσετε μια CIT χρησιμοποιώντας το αρχικό ID συμφωνίας για να ενημερώσετε τις λεπτομέρειες πληρωμής ή το token πύλης προτού εκτελέσετε οποιαδήποτε MIT με τον νέο αριθμό κάρτας. Ανάλογα με το επιχειρηματικό σας μοντέλο, μπορείτε επίσης να αποφασίσετε να δημιουργήσετε μια νέα συμφωνία με τον πληρωτή.
Αν χρησιμοποιείτε tokenization δικτύου, τα προγράμματα μπορούν να ενημερώσουν αυτόματα τον αριθμό της κάρτας που είναι αποθηκευμένος σε σχέση με το token δικτύου στην πύλη.