PAYMENT INTEGRATIONS · TRANSACTION FLOWS

Payment Gateway Integrations για E-shop & Web Εφαρμογές

Συνδέουμε checkout και business systems με payment providers ώστε κάθε συναλλαγή να δημιουργείται, να επιβεβαιώνεται και να ενημερώνει σωστά το order ή το workflow — από cards και IRIS μέχρι refunds και payment webhooks.

✓ Cards ✓ IRIS ✓ Webhooks ✓ Refunds ✓ Payment Status
PAYMENT LIFECYCLE Verified transaction flow
Active
BUSINESS OBJECT Order Cart · Booking · Invoice
↓
ATTEMPT Payment Attempt Amount · Method · Reference
↓
PROVIDER FLOW Auth · 3DS · Process Provider-managed transaction
↓
VERIFICATION Verified Status Webhook · API verification
↓
BUSINESS ACTION Update Workflow Paid · Fulfil · Activate
REDIRECT ≠ PAYMENT TRUTH

Η σελίδα «ευχαριστούμε» δεν είναι απόδειξη πληρωμής.

Το browser redirect είναι μέρος του user experience. Η επιχειρησιακή κατάσταση πρέπει να βασίζεται σε αξιόπιστη επιβεβαίωση από τον payment provider.

BROWSER

Return / Success Page

Customer → Redirect → “Thank you”

Χρήσιμο για UX, αλλά όχι το μοναδικό authoritative signal για fulfilment.

ORDER ≠ PAYMENT ATTEMPT

Ένα order μπορεί να έχει περισσότερες από μία προσπάθειες πληρωμής.

ORDER #1258 €150.00
↓
ATTEMPT 01 Declined Card refused
ATTEMPT 02 Authentication Failed 3DS incomplete
ATTEMPT 03 Succeeded Verified payment

Στόχος είναι να διατηρείται ένα καθαρό order και ξεχωριστό ιστορικό payment attempts.

PAYMENT STATE MACHINE

Η πληρωμή δεν είναι απλώς Paid ή Failed.

Διαφορετικοί providers χρησιμοποιούν διαφορετικά statuses. Το business system χρειάζεται καθαρό internal model.

01 Created Payment initialized
→
02 Requires Action Authentication needed
→
03 Processing Provider processing
→
04A Succeeded Verified payment
OR
04B Failed Payment not completed
STATUS MAPPING

Provider codes πρέπει να γίνονται καθαρά business states.

PROVIDER EVENT INTERNAL STATE BUSINESS ACTION
Payment initiated Pending Wait
Requires authentication Awaiting Customer No fulfilment
Processing Processing Wait / Inform
Succeeded Paid Continue workflow
Failed Failed Allow retry
Refund completed Refunded Update business state
INTEGRATION MODEL

Δεν χρειάζεται κάθε checkout το ίδιο payment architecture.

HOSTED / REDIRECT

Provider Checkout

Ο χρήστης μεταφέρεται σε secure checkout environment του provider.

  • Μικρότερο card-data exposure
  • Provider-managed payment UI
  • Κατάλληλο για πολλά standard flows
EMBEDDED

Provider Component

Payment component του provider ενσωματώνεται στο application UI.

  • Πιο integrated UX
  • Provider-managed sensitive elements
  • Εξαρτάται από provider capability

Δεν επιλέγουμε direct integration επειδή είναι «πιο custom». Επιλέγουμε το μοντέλο που ταιριάζει στο πραγματικό requirement.

CARD DATA SCOPE

Ευαίσθητα payment data δεν πρέπει να κυκλοφορούν χωρίς λόγο.

Όπου είναι τεχνικά κατάλληλο, σχεδιάζουμε το flow ώστε card details να χειρίζονται από secure provider components ή provider-hosted environments και όχι από το application server.

CUSTOMER Card Details
→
PAYMENT PROVIDER Secure Collection
→
APPLICATION Token / Status
AUTHENTICATION FLOW

Το 3D Secure μπορεί να αλλάξει ολόκληρη τη διαδρομή της πληρωμής.

01 Payment Attempt
→
02 Authentication Required
→
03 Bank / Provider
→
04 Return
→
05 Verify Final Status
PAYMENT WEBHOOKS

Το payment event πρέπει να γίνει σωστή business action.

01 Webhook Received Provider event
→
02 Verify Authenticity / signature
→
03 Find Payment Internal reference
→
04 Check Duplicate Already processed?
→
05 Map Status Provider → internal
→
06 Update Workflow Order / booking / access
DUPLICATE PROTECTION

Το ίδιο payment event δύο φορές δεν πρέπει να εκτελέσει δύο φορές την ίδια ενέργεια.

Webhooks και technical retries μπορούν να επαναληφθούν. Το payment flow πρέπει να γνωρίζει αν το event ή η operation έχει ήδη επεξεργαστεί.

EVENT payment.succeeded
→
CHECK Processed?
→
BUSINESS ACTION Fulfil Once
TRANSACTION REFERENCES

Business ID και provider ID πρέπει να συνδέονται, όχι να συγχέονται.

ORDER ID ORD-10382
→
INTERNAL PAYMENT PAY-7845
→
PROVIDER TRANSACTION TX-3470744
AUTHORIZATION & CAPTURE

Authorized δεν σημαίνει πάντα captured.

Σε flows που υποστηρίζουν ξεχωριστό authorization και capture, το application πρέπει να γνωρίζει ποια συναλλακτική κατάσταση είναι πραγματικά ενεργή.

STEP 01 Authorize Payment approved / reserved
→
DECISION Proceed? Business condition
YES Capture
NO Void
REFUND LIFECYCLE

Refund δεν σημαίνει πάντα επιστροφή ολόκληρου του ποσού.

ORIGINAL PAYMENT €100 Paid
↓
FULL €100 Refund Net paid €0
MULTIPLE €20 + €10 Track each operation

Οι πραγματικές δυνατότητες refund εξαρτώνται από payment method και provider.

IRIS PAYMENTS

Το IRIS δεν είναι απλώς άλλο ένα logo στο checkout.

Το technical lifecycle μπορεί να διαφέρει από card payment, με διαφορετικό redirect, response, verification ή refund behaviour ανά provider και integration model.

CHECKOUT Select IRIS
→
FLOW QR / Redirect
→
BANKING Customer Action
→
VERIFY Final Status
PAYMENT METHODS

Κάθε μέθοδος πληρωμής μπορεί να έχει διαφορετικό flow.

Η πραγματική διαθεσιμότητα εξαρτάται από provider, merchant account, χώρα, integration model και ενεργοποιημένες υπηρεσίες.

Cards IRIS Apple Pay Google Pay Pay-by-Link Bank / Open Banking Provider Wallets Other Supported Methods
PAY-BY-LINK

Η πληρωμή δεν χρειάζεται πάντα κλασικό e-shop checkout.

PAYMENT STATE ≠ ORDER STATE

Η πληρωμή και το order είναι δύο διαφορετικές state machines.

PAYMENT Pending → Succeeded
≠
ORDER Pending Payment → Paid → Processing → Completed
ASYNCHRONOUS STATES

Pending δεν σημαίνει Failed.

Ορισμένα payment flows μπορεί να βρίσκονται προσωρινά σε processing κατάσταση. Το application πρέπει να μπορεί να περιμένει την τελική επιβεβαίωση.

Payment Started → Processing → Succeeded / Failed
PAYMENT RECONCILIATION

Κάθε business payment πρέπει να παραμένει traceable.

Πρέπει να μπορούμε να απαντήσουμε ποια provider transaction αφορά ποιο order, booking, invoice ή refund.

ORDER #1042
→
PAYMENT €150
→
PROVIDER TX TX-8821
→
STATUS Matched
PAYMENT VISIBILITY

Log enough to debug. Never log secrets.

PAYMENT ID PAY-7845
PROVIDER Provider A
ORDER ORD-10382
AMOUNT €150.00
STATUS Succeeded
LAST EVENT Webhook
LAST ERROR —
UPDATED 10:42:18

API secrets, raw card details και άλλα sensitive credentials δεν ανήκουν στα application logs.

MULTI-PROVIDER ARCHITECTURE

Πολλοί providers, ένα καθαρό internal payment model.

Σε multi-provider setup, το application μπορεί να χρησιμοποιεί κοινό payment abstraction, ενώ κάθε attempt παραμένει traceable στον provider που το επεξεργάστηκε.

APPLICATION Internal Payment Layer
↓
Provider A Provider B Provider C Provider D
PAYMENT PROVIDERS TO ASSESS

Πρώτα ελέγχουμε τι υποστηρίζει πραγματικά ο provider.

Viva.com EveryPay Cardlink / Worldline Nexi XPay Stripe PayPal
Σημαντικό: Η δυνατότητα integration και τα διαθέσιμα features εξαρτώνται από merchant agreement, account configuration, API access, payment method, χώρα και provider documentation. Η αναφορά provider δεν αποτελεί claim επίσημης συνεργασίας.
PLUGIN OR CUSTOM?

Custom payment code δεν είναι στόχος από μόνο του.

OFFICIAL / MAINTAINED PLUGIN

Όταν το standard integration αρκεί

  • Η πλατφόρμα υποστηρίζεται
  • Το checkout flow είναι standard
  • Refund/status handling καλύπτει το requirement
  • Το plugin συντηρείται ενεργά
  • Δεν απαιτείται special business logic
SAVED METHODS & RECURRING

Tokenization και subscriptions χρειάζονται ξεχωριστό feasibility check.

TOKENIZATION

Saved Payment Method

Όπου υποστηρίζεται, χρησιμοποιείται provider-managed token αντί για αποθήκευση raw card data από την εφαρμογή.

RECURRING

Subscription Payments

Initial authorization, renewal attempts, failed payments, retry logic και cancellation χρειάζονται ξεχωριστό lifecycle.

AMOUNT INTEGRITY

Το checkout μπορεί να εμφανίζει το ποσό. Ο server πρέπει να ξέρει ποιο είναι το σωστό ποσό.

Το payable amount πρέπει να προκύπτει από authoritative business state — order, cart, booking ή invoice — και όχι να γίνεται trusted επειδή ήρθε από το browser.

BROWSER €150
→
SERVER Verify Order Amount
→
PROVIDER Charge €150
PAYMENT REFERENCES

Στέλνουμε αρκετό context για να βρίσκουμε τη συναλλαγή αργότερα.

Metadata δεν σημαίνει ότι στέλνουμε sensitive internal information χωρίς επιχειρησιακό λόγο.

MOBILE PAYMENT UX

Το payment flow πρέπει να παραμένει καθαρό και όταν ο χρήστης φύγει από το browser.

Clear Method Choice Ξεκάθαρες payment options.
Banking App Return Σωστή επιστροφή μετά από redirect.
3DS Tested Mobile authentication flow.
Pending State Όχι false failure ενώ περιμένουμε provider.
Safe Retry Χωρίς να χάνεται το order.
Clear Errors Κατανοητό επόμενο βήμα.
PAYMENT TESTING

Δεν δοκιμάζουμε μόνο τη συναλλαγή που πέτυχε.

Successful Payment Card Declined 3DS Challenge 3DS Failure Customer Cancel Processing / Pending Invalid Request Duplicate Webhook Network Timeout Provider Offline Full Refund Partial Refund Duplicate API Retry Return Without Verification
CONTROLLED GO-LIVE

Από sandbox σε production με ελεγχόμενα βήματα.

01 Sandbox Integration environment
→
02 Test Scenarios Success + failures
→
03 Production Setup Credentials + webhooks
→
04 Live Verification Controlled transaction
→
05 Monitor Normal operation
PAYMENT SECURITY

Security δεν είναι ένα checkbox στο τέλος.

Credentials, provider verification, sensitive data exposure και idempotency σχεδιάζονται μαζί με το payment architecture.

01

Credential Handling

Secrets δεν εκτίθενται στο frontend.

02

Webhook Verification

Τα provider events επαληθεύονται.

03

Amount Validation

Το ποσό επαληθεύεται server-side.

04

Idempotency

Technical retries χωρίς duplicate action.

05

Sensitive Logging

Δεν καταγράφονται secrets ή raw card data.

06

Provider Requirements

Το flow ακολουθεί το πραγματικό integration model.

PAYMENT INTEGRATION DISCOVERY

Πριν συνδέσουμε το gateway, χαρτογραφούμε το transaction flow.

01 Merchant Setup

Provider και διαθέσιμες υπηρεσίες.

02 Integration Model

Hosted, embedded ή direct.

03 Business Object

Order, booking ή invoice.

04 Payment States

Ποια states χρειάζεται το business.

05 Security Scope

Credentials και sensitive data flow.

06 Webhooks

Πώς έρχεται η final επιβεβαίωση.

07 Refund Logic

Full, partial και provider rules.

08 Testing

Success και failure scenarios.

09 Go-live

Controlled production rollout.

10 Monitoring

Visibility σε transactions και errors.

SCOPE · TIME · COST

Τι καθορίζει την πολυπλοκότητα;

Το scope δεν εξαρτάται μόνο από το όνομα του payment provider, αλλά από ολόκληρο το transaction lifecycle.

Payment Provider Platform Plugin vs API Checkout Model Payment Methods IRIS 3D Secure Refunds Authorization / Capture Saved Methods Recurring Payments Multiple Gateways ERP / CRM Integration Payment Links Webhooks Reconciliation Testing Monitoring
FAQ

Συχνές ερωτήσεις για Payment Gateway Integrations.

Η πραγματική δυνατότητα κάθε payment flow εξαρτάται από τον provider, το merchant account, το integration model και το business requirement.

Συζητήστε το payment integration σας →
Τι είναι payment gateway integration;
Είναι η τεχνική σύνδεση ενός e-shop, web application ή άλλου business system με payment provider ώστε να δημιουργούνται, να επιβεβαιώνονται και να παρακολουθούνται online συναλλαγές.
Ποια είναι η διαφορά hosted και direct payment integration;
Στο hosted flow η πληρωμή γίνεται σε περιβάλλον ή component του provider. Στο direct model το application έχει μεγαλύτερο τεχνικό έλεγχο, αλλά συνήθως και μεγαλύτερο security και compliance scope.
Γιατί δεν αρκεί το success URL;
Επειδή το browser redirect αφορά κυρίως το UX. Το business system πρέπει να επιβεβαιώνει την πραγματική κατάσταση της πληρωμής μέσω αξιόπιστου provider event ή verification flow.
Τι είναι payment webhook;
Είναι server-to-server event που στέλνει ο provider όταν αλλάξει η κατάσταση μιας συναλλαγής, ώστε το application να ενημερώσει το αντίστοιχο business object.
Πώς αποφεύγεται η διπλή επεξεργασία μιας πληρωμής;
Με stable transaction identifiers, duplicate checks και idempotent processing, ώστε η επανάληψη του ίδιου event ή technical request να μην εκτελεί δεύτερη φορά την ίδια business action.
Τι είναι 3D Secure;
Είναι additional authentication flow που μπορεί να απαιτείται κατά τη συναλλαγή. Η εφαρμογή πρέπει να χειρίζεται σωστά το redirect ή challenge και στη συνέχεια να επιβεβαιώνει το τελικό payment status.
Τι σημαίνει authorization και capture;
Σε payment flows που το υποστηρίζουν, authorization και capture μπορεί να είναι ξεχωριστά transaction stages. Η ακριβής συμπεριφορά εξαρτάται από provider και merchant configuration.
Μπορούν να γίνουν partial refunds;
Μπορούν όταν η συγκεκριμένη payment method και ο provider τα υποστηρίζουν. Το integration πρέπει επίσης να ενημερώνει σωστά το internal payment και business state.
Μπορεί να προστεθεί IRIS;
Μπορεί να αξιολογηθεί όταν ο payment provider και το merchant setup υποστηρίζουν IRIS. Το technical flow μπορεί να διαφέρει από card payment και χρειάζεται provider-specific έλεγχο.
Μπορούν να προστεθούν Apple Pay ή Google Pay;
Ναι, όταν υποστηρίζονται από τον provider, το merchant account, την πλατφόρμα και το συγκεκριμένο integration model.
Μπορεί να δημιουργείται Pay-by-Link;
Ναι, όταν ο provider υποστηρίζει payment links ή αντίστοιχο API. Μπορεί να χρησιμοποιηθεί σε B2B flows, deposits, service payments ή other non-standard checkout scenarios.
Μπορούν να αποθηκευτούν κάρτες;
Όπου υποστηρίζεται, προτιμάται provider-managed tokenization, ώστε η εφαρμογή να αποθηκεύει token/reference αντί για raw card details.
Μπορούν να γίνουν recurring payments ή subscriptions;
Εξαρτάται από τον provider, το merchant configuration και το integration model. Subscription flows χρειάζονται ξεχωριστή λογική για authorization, renewals, failed payments και cancellation.
Μπορεί να συνδεθεί Viva.com;
Μπορεί να αξιολογηθεί integration βάσει των διαθέσιμων APIs, ενεργοποιημένων payment methods, merchant configuration και του απαιτούμενου payment flow.
Μπορεί να συνδεθεί EveryPay;
Ναι, μπορεί να εξεταστεί plugin ή API integration ανάλογα με την πλατφόρμα και το πραγματικό business requirement.
Μπορεί να συνδεθεί Cardlink / Worldline;
Η δυνατότητα και το integration model εξετάζονται βάσει merchant setup, provider documentation και απαιτούμενων payment methods.
Μπορεί να συνδεθεί Nexi;
Μπορεί να αξιολογηθεί μέσω των διαθέσιμων Nexi integration models, ανάλογα με το checkout, transaction operations και payment methods που απαιτούνται.
Μπορεί να συνδεθεί Stripe;
Μπορεί να εξεταστεί Stripe integration για custom web applications, e-commerce ή άλλες flows, ανάλογα με account availability, payment methods και technical requirements.
Μπορεί να συνδεθεί PayPal;
Ναι, όταν το συγκεκριμένο merchant setup και integration model υποστηρίζουν το απαιτούμενο payment flow.
Τι γίνεται αν το payment provider API πέσει;
Το flow πρέπει να μπορεί να χειριστεί προσωρινό failure χωρίς να χαρακτηρίζει λανθασμένα μια συναλλαγή ως paid ή failed. Ανάλογα με την περίπτωση χρησιμοποιούνται retries, pending states, logs και alerts.
Αρκεί ένα plugin ή χρειάζεται custom integration;
Αν ένα επίσημο ή αξιόπιστο plugin καλύπτει πλήρως το checkout, τα statuses, τα refunds και το required business flow, μπορεί να είναι η καλύτερη λύση. Custom development χρειάζεται όταν υπάρχουν ειδικές απαιτήσεις.
Πώς υπολογίζεται το κόστος ενός payment integration;
Εξαρτάται από τον provider, το integration model, τις payment methods, τα webhooks, τα refunds, το authorization/capture, το recurring flow, τα connected systems, το testing και το monitoring.
+302110159994