WooCommerce
NBG Payments (MPGS)

Οδηγός Ρύθμισης & Δοκιμών – Hosted Checkout

Βήμα-βήμα στήσιμο του πρόσθετου, ασφαλείς δοκιμές (TEST), έλεγχοι webhook και mini go-live checklist.

1) Προαπαιτούμενα

Από NBG / MPGS
  • TEST Merchant ID & API Password.
  • Live διαπιστευτήρια (όταν εγκριθείς).
  • Webhook Secret από τον λογαριασμό εμπόρου.
  • URL πύλης (Custom Gateway Host) για TEST & LIVE.
Από WooCommerce
  • WooCommerce ενημερωμένο, παραγγελίες λειτουργικές.
  • SSL (https) ενεργό σε όλο το site.
  • Εξαίρεση από cache για checkout & webhook endpoints.
Συμβουλή: Αν το ίδιο MID χρησιμοποιείται και αλλού, όρισε Order ID Prefix για να αποφύγεις διπλότυπα.

2) Εγκατάσταση Plugin

  1. Εγκατάστησε/ενεργοποίησε το «WooCommerce – Mastercard Gateway (MPGS)» module.
  2. Πήγαινε: WooCommerce → Settings → Payments → Mastercard Gateway και πάτα Manage.

3) Ρύθμιση Hosted Checkout (βήμα-βήμα)

  1. Enable/Disable: Ενεργοποίησε το gateway.
  2. Title / Description: π.χ. «Πληρωμή με κάρτα (NBG Payments)» / «Ασφαλής πληρωμή μέσω i-bank e-Commerce».
  3. Gateway: Custom URL και στο Custom Gateway Host βάλε ΑΚΡΙΒΩΣ το URL που σου έδωσε η NBG (TEST & LIVE).
  4. Transaction Mode:
    • Purchase: άμεση χρέωση στο checkout (απλούστερη ροή).
    • Authorize: μόνο δέσμευση – θα κάνεις Capture αργότερα.
  5. Integration Model: Hosted Checkout.
  6. Checkout Interaction:
    • Redirect to Payment Page (προτεινόμενο: λιγότερο PCI, πιο σταθερό).
    • Embedded (φόρμα μέσα στο checkout, θέλει extra προσοχή).
  7. Merchant Information (μόνο με Redirect)
    • Enable και συμπλήρωσε: Επωνυμία, Διεύθυνση, Email, Τηλέφωνο.
    • Logo: URL https 140×140 (JPG/PNG/SVG).
  8. Debug Logging: ON μόνο σε Test Sandbox. Log: wp-content/mastercard.log.
  9. Send Line Items (προαιρετικό): στέλνει αναλυτικά τα προϊόντα.
  10. Test Sandbox: ΕΝΕΡΓΟ για δοκιμές (βάλε Test Merchant ID & Test API password).
    Για live, κλείνεις Sandbox και βάζεις Merchant ID & API password παραγωγής.
  11. Order ID Prefix: π.χ. WEB.
  12. Webhook Secret: από το merchant account (βεβαιώσου ότι δεν το μπλοκάρει WAF/CDN).
  13. Handling Fee (προαιρετικό): fixed ή %.
  14. Save Changes.
Firewall/CDN: Μην μπλοκάρεις το Notification URL (webhook)· άσε το plugin να ενημερώνει την παραγγελία.

4) Δοκιμές σε Sandbox (TEST)

Χρησιμοποίησε τις δοκιμαστικές κάρτες στην επόμενη ενότητα. Συνιστώ σενάρια: success, decline, Authorize→Capture, refund, void, 3-D Secure challenge.

Γρήγορα test cases
ΣενάριοΕνέργειαΑποτέλεσμα
Purchase (Success)Κάρτα από «Successful»Order: Processing/Completed, Portal: Successful
DeclineΚάρτα από «Declined»Order: Failed/Cancelled με μήνυμα gateway
Authorize → CaptureΘέσε Transaction Mode=Authorize, κάνε Capture από παραγγελίαOrder status ενημερώνεται, Portal: Captured
RefundRefund από σελίδα παραγγελίας (μερικό/ολικό)Order: refunded, Portal: reversal
VoidΣε Authorized χωρίς capture: VoidΑκύρωση δέσμευσης
3-DS ChallengeΚάρτα 3-DS «Challenge Required»Εμφάνιση ACS/OTP και ανάλογο αποτέλεσμα

5) Δοκιμαστικές Κάρτες — NBG Pay / MPGS (Sandbox)

Χρησιμοποίησέ τες μόνο σε TEST. Εκτός αν αναφέρεται αλλιώς, μπορείς να βάλεις μελλοντική ημερομηνία λήξης (π.χ. 01/39) και τυπικό CVV (π.χ. 100).

Successful

Card NumberCard TypeResultCodeDescription
4263970000005262VisaSuccessful00Successful transaction
5425230000004415MastercardSuccessful00Successful transaction
374101000000608American ExpressSuccessful00Successful transaction
36256000000725Diners ClubSuccessful00Successful transaction
6011000000000087DiscoverSuccessful00Successful transaction
3566000000000000JCBSuccessful00Successful transaction
135400000007187UATPSuccessful00Successful transaction

Declined

Card NumberCard TypeResultCodeDescription
4000120000001154VisaDeclined101Declined by the bank
4000130000001724VisaDeclined102Referral B
4000160000004147VisaDeclined103Referral A - Card reported lost/stolen
4009830000001985VisaDeclined200Communication Error
4242420000000091VisaDeclined111Strong Customer Authentication Required
5114610000004778MastercardDeclined101Declined by the bank
5114630000009791MastercardDeclined102Referral B
5121220000006921MastercardDeclined103Referral A - Card reported lost/stolen
5135020000005871MastercardDeclined200Communication Error
5100000000000131MastercardDeclined111Strong Customer Authentication Required
376525000000010American ExpressDeclined101Declined by the bank
375425000000907American ExpressDeclined102Referral B
343452000000306American ExpressDeclined103Referral A - Card reported lost/stolen
372349000000852American ExpressDeclined200Communication Error
374205502001004American ExpressDeclined111Strong Customer Authentication Required
36256000000998Diners ClubDeclined101Declined by the bank
36256000000634Diners ClubDeclined102Referral B
38865000000705Diners ClubDeclined103Referral A - Card reported lost/stolen
30450000000985Diners ClubDeclined200Communication Error
6011000000001010DiscoverDeclined101Declined by the bank
6011000000001028DiscoverDeclined102Referral B
6011000000001036DiscoverDeclined103Referral A - Card reported lost/stolen
6011000000002000DiscoverDeclined200Communication Error
3566000000001016JCBDeclined101Declined by the bank
3566000000001024JCBDeclined102Referral B
3566000000001032JCBDeclined103Referral A - Card reported lost/stolen
3566000000002006JCBDeclined200Communication Error
135400000009712UATPDeclined101Declined by the bank
135400000007633UATPDeclined102Referral B
135400000000281UATPDeclined103Referral A - Card reported lost/stolen
135400000005637UATPDeclined205Communication Error

DCC (Dynamic Currency Conversion)

Χωρίς και με 3-D Secure authentication.

Without 3-D Secure

Card NumberCard TypeResultCodeDescriptionCurrency
4006097467207025DCCSuccessful00Successful transactionAUD
4002933640008365DCCSuccessful00Successful transactionEUR

With 3-D Secure

Card NumberCard TypeResultCodeDescriptionCurrency
4222000001227408DCCChallenge_RequiredN/AChallenged TrxUSD
4263970000005262DCCAuthentication_Successful00Successful TrxEUR

3-D Secure 2 – Visa

Για Visa Message Version 2.2 (απαιτεί header X-GP-VERSION: 2.2.0 όπου χρειάζεται).

Card NumberFlow TypeTransaction ResultECI
4222000006285344FrictionlessAUTHENTICATION_SUCCESSFUL05
4222000009719489FrictionlessAUTHENTICATION_SUCCESSFUL - No Method URL05
4222000005218627FrictionlessAUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL06
4222000002144131FrictionlessAUTHENTICATION_FAILED07
4222000007275799FrictionlessAUTHENTICATION_ISSUER_REJECTED07
4222000008880910FrictionlessAUTHENTICATION_COULD_NOT_BE_PERFORMED07
4222000001227408ChallengeCHALLENGE_REQUIREDN/A

Σημ.: Το ECI δείχνει liability shift/προστασία chargeback.

3-D Secure 2 – Mastercard

Για Mastercard Message Version 2.2.

Card NumberFlow TypeTransaction ResultECI
5354560000000004FrictionlessAUTHENTICATION_SUCCESSFUL02
5571596304025153FrictionlessAUTHENTICATION_SUCCESSFUL - No Method URL02
5580364874958322FrictionlessAUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL01
5540010585397800FrictionlessAUTHENTICATION_FAILED00
5588312194362669FrictionlessAUTHENTICATION_ISSUER_REJECTED00
5520680211891022FrictionlessAUTHENTICATION_COULD_NOT_BE_PERFORMED00
5506874496684651ChallengeCHALLENGE_REQUIREDN/A

Σημ.: Το ECI 02/05 συνήθως δηλώνει επιτυχία με liability shift.

🔗 Επίσημη πηγή (προτείνεται για έλεγχο τυχόν επικαιροποιήσεων): developer.nbgpaygateway.com/resources/test-cards

6) Διαχείριση Συναλλαγών (Woo Admin)

Οι ενέργειες συγχρονίζονται με το portal του παρόχου (MPGS/NBG), ώστε τα ποσά/καταστάσεις να συμβαδίζουν.

7) Συνηθισμένα προβλήματα & λύσεις

  • Λάθος Custom Gateway Host: βάλε ΑΚΡΙΒΩΣ το URL του test/live που σου έδωσε η NBG.
  • Δεν έρχονται callbacks: έλεγξε firewall/CDN, cache, 200 OK στο webhook endpoint.
  • Διπλό Order ID: χρησιμοποίησε Order ID Prefix.
  • Logo στο redirect: URL https, 140×140, δημόσια προσβάσιμο.
  • Θέματα σε embedded/mobile: προτίμησε Redirect μέχρι το go-live.

8) Go-Live checklist

  1. Κλείσε Test Sandbox και βάλε Merchant ID / API Password παραγωγής.
  2. Άλλαξε Custom Gateway Host σε live endpoint.
  3. Έλεγξε Webhook Secret (live) & πρόσβαση από το δίκτυο.
  4. Κάνε μία μικρή πραγματική χρέωση & δοκίμασε refund.
  5. Κράτα Order ID Prefix αν μοιράζεσαι MID.
  6. Φύλαξε ασφαλώς κωδικούς/μυστικά.
Παραδοσιακή σοφία: καθαρό Redirect + Purchase στην αρχή· μετά κάνουμε τα «κόλπα».