GH GambleHub

Συμφωνία πληρωμών και εκθέσεων ΠΥΠ

TL, DR

Συμφιλίωση είναι η καθημερινή αυτόματη ραφή του βιβλίου σας και των γεγονότων (auth/capture/refund/payout) με αναφορές PSP/acquirer/bank. Το κλειδί για την επιτυχία: ένα ενιαίο μοντέλο δεδομένων, καθορισμένα κλειδιά αντιστοίχισης, αυστηρή ταυτότητα, άθροισμα/FX/ανοχές χρόνου, ουρά DLQ για αμφιλεγόμενες περιπτώσεις και βιβλία αναπαραγωγής αυτόματης διόρθωσης. KPI: Αναγνωριστικό mismatch Rate↓, γήρανση Unreconciled↓, Auto- match%↑.

1) Γιατί και τι ελέγχουμε

Στόχοι: επιβεβαίωση εσόδων και προμηθειών, διπλός εντοπισμός/απώλεια, ορθός διακανονισμός κατά ημέρες και νομίσματα, έλεγχος επιστροφής στην πηγή, συμμόρφωση με τον έλεγχο/ρυθμιστική αρχή.

Αντικείμενα αντιπαραβολής:
  • Καταθέσεις: 'auth → capt → settle'
  • Επιστροφές: πλήρες/μερικό, καθεστώς και ποσά
  • Πληρωμές/αναλήψεις: Εξερχόμενες πληρωμές μεθόδου
  • Προμήθειες & προσαρμογές: προμήθειες ΠΥΠ, διατραπεζικά συστήματα, διορθώσεις
  • Χρέωση/Διαφωνίες: Πέρα από την πρωτοβουλία σας
  • FX/Μετατροπές: συντελεστές, περιθώρια, σημείο καθορισμού

2) Πηγές δεδομένων

Εσωτερικές εκδηλώσεις: event bus/Kafka, 'πληρωμές _ flat', 'επιστροφές', 'πληρωμές', το βιβλίο σας.

Εκθέσεις PSP (SFTP/API/webhook dump):
  • Συναλλαγές (επιχειρησιακές καταστάσεις)
  • Οικισμοί/Παρτίδες
  • Τέλη/καταστάσεις
  • Χρέωση/Διαφορές
  • Πληρωμές/μητρώα ΥΧΕ/RTP/SEPA
  • Τραπεζικές καταστάσεις: CAMT MT940/CSV/ISO20022, credit lift.
💡 Αποθήκευση: η εκφόρτωση → ακατέργαστο → ομαλοποιημένο → αντιστοιχισμένο. Όλα τα εισερχόμενα αρχεία - με checksums και έκδοση.

3) Κλειδιά αντιστοίχισης

Δένδρο-κλειδί προτεραιότητας (κατηφορική ακρίβεια):

1. (μοναδικός αναγνωριστικός κωδικός PSP)

2. (εάν είναι σταθερή σε PSP)

3. (ποσό, νόμισμα, timestamp_bucket, τελευταίο4/κάδο, auth_code)

4. Ασαφές στρώμα: ± ανοχές κατά άθροισμα/χρόνο, BIN/χώρα εκδότη, οικογένεια καθεστώτος

Συστάσεις:
  • Διατήρηση τόσο 'payment _ id' όσο και 'provider _ txid'.
  • Για μερική/επιστροφή χρημάτων, προσθήκη 'sequence _ index' or 'refund _ line _ id'.
  • πληρωμές - 'payout _ batch _ id + .
  • Για FX - 'exec _ id' (μετατροπή) και την πηγή της ισοτιμίας.

4) Μοντέλο δεδομένων (κανονικοποιημένο επίπεδο)

json
{
"source": "INTERNAL    PSP_TX    PSP_SETTLEMENT    BANK",
"provider": "Acquirer_A",
"payment_id": "pay_123",
"provider_txid": "psp_tx_789",
"kind": "AUTH    CAPTURE    REFUND    PAYOUT    FEE    SETTLEMENT    CHARGEBACK",
"sequence": 0,
"amount": 100. 00,
"currency": "EUR",
"fee_amount": 1. 20,
"fx_rate": 1. 0000,
"fx_src": "PSP    ECB    BANK",
"status": "APPROVED    CAPTURED    SUCCESS    FAILED    SETTLED",
"event_ts": "2025-11-03T12:00:00Z",
"settlement_date": "2025-11-05",
"account": "PSP_MERCHANT_CARD_A",
"matching_keys": {
"provider_txid": "psp_tx_789",
"merchant_ref": "mr_456",
"idem_key": "idem_abc"
},
"hash_row": "sha256(...)"
}

5) Διαδικασία συμφιλίωσης (ETL/ενορχήστρωση)

1. Κατάποση: λαμβάνουμε εκθέσεις PSP (SFTP/API), επικυρώνουμε το σύστημα/τις υπογραφές, εκτός από «ακατέργαστες».
2. Ομαλοποίηση: mappim του πεδίου στην ενοποιημένη μορφή (νόμισμα ISO, δεκαδικά ψηφία, ζώνη ώρας UTC).
3. Ταίριασμα: αλγόριθμος για την αντιστοίχιση του δέντρου κλειδιού με τις ανοχές.
4. Μετά τον αγώνα: έντυπο diff (διαφορές) και καταχωρήσεις περιοδικών για το βιβλίο/διορθώσεις.
5. Διακανονισμός: ράψτε 'PSP _ SETLEMENT ↔ BANK' (πίστωση στο λογαριασμό), διασπορά ανά ημέρα/παρτίδα.
6. Αναφορά: ταμπλό, προειδοποιήσεις. αμφιλεγόμενο σε DLQ για χειροκίνητη ανάλυση/αυτόματη αναπαραγωγή.

Ταυτότητα: για κάθε αρχείο/σελίδα - 'ingest _ id'. Η επαναφόρτωση δεν αλλάζει το αποτέλεσμα.

6) Ανοχές και κανόνες

Χρόνος: «± 15 λεπτά» για συναλλαγές, «± 1 ημέρα» για διακανονισμό.
Ποσό: '≤ 0. 01 "βασικό νόμισμα ή" ≤ 10 μονάδες βάσης "για τις διαφορές FX/τέλους.
FX: επιτρέπουμε διαφορές με την τράπεζα εάν η πηγή της συναλλαγματικής ισοτιμίας είναι διαφορετική. διόρθωση 'fx _ src'.
Μερικό/Πολλαπλάσιο: Το άθροισμα των γραμμών μερικής επιστροφής/επιστροφής πρέπει να ισούται με το εσωτερικό υπόλοιπο.

7) Ταξινόμηση diff

Τύπος diffΠεριγραφήΔράση
MISSING_INTERNALΤο PSP έχει, εμείς δενΔημιουργία ορφανής θήκης, check webhooks/retrays
MISSING_PSPΈχουμε, PSP δεν έχειΕλέγξτε την κατάσταση/επανάληψη, επαφή PSP
AMOUNT_MISMATCHΤα ποσά ποικίλλουν> ανοχήΑυτόματη διόρθωση/καταγραφή, κλιμάκωση ανάλογα με τις ανάγκες
FEE_MISMATCHΟι επιτροπές διαφέρουνΑποδοχή ΠΥΠ ως «αληθούς» (πολιτική) ή απαίτηση πιστωτικού σημειώματος
STATUS_DRIFTCAPTURE μαζί μας, AUTH με PSPΛήψη/διακανονισμός webhooks
ΑΝΤΙΓΡΑΦΟΔιπλές γραμμέςDedup by 'provider _ txid/idempotency _ key'
FX_DRIFTΟι κύκλοι μαθημάτων αποκλίνουνΟρισμός επίσημης πηγής, ρύθμιση P&L
REFUND_OVERΕπιστροφή> δεσμευμένηΕπείγουσα μονάδα, χειροκίνητη ανάλυση, ημερολόγιο αντίστροφης διόρθωσης

8) Λογιστική και λογιστική

Σημείωση: «Εισπρακτέοι λογαριασμοί DR/Έσοδα CR» и «Μετρητά DR (κατά το διακανονισμό )/Εισπρακτέοι λογαριασμοί CR»

Τέλος: «Τέλη DR/CR μετρητά ή πληρωμή»

Επιστροφή: κατ "αναλογία μερική αντίστροφη απόσπαση

Χρέωση: χωριστοί λογαριασμοί και αποθεματικό για διαφορές

FX reval: καθημερινή αναπροσαρμογή της αξίας του υπολοίπου AR/cache στο 'fx _ src _ policy'

9) ΒΔΕ και στόχοι

Αυτόματος αγώνας% = γραμμές αυτόματου αγώνα/όλες οι γραμμές (95% ≥ στόχος)

Recon Mismatch Rate = diff lines/all lines (≤ 1-2%)

Γήρανση: p50/p95 ημέρες σε DLQ (p95 ≤ 3 ημέρες)

Χρόνος διακανονισμού: ποσοστό παρτίδων ραμμένων με τράπεζα ημέρας D (≥ 99%)

Ακρίβεια τέλους: διαφορές στα τέλη παρόχου (≤ 0. 1% του κύκλου εργασιών)

Διπλά/ορφανά περιστατικά: Στόχος για 0

10) Φέτες SQL

10. 1 Βασική αντιστοίχιση provider_txid

sql
WITH i AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM internal_norm
),
p AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM psp_norm
)
SELECT
COALESCE(i. provider_txid, p. provider_txid) AS txid,
COALESCE(i. provider, p. provider) AS provider,
i.kind AS kind_internal, p. kind AS kind_psp,
i.amount AS amount_internal, p. amount AS amount_psp,
i.currency, p. currency,
CASE
WHEN i.provider_txid IS NULL THEN 'MISSING_INTERNAL'
WHEN p. provider_txid IS NULL THEN 'MISSING_PSP'
WHEN ABS(i. amount - p. amount) > 0. 01 THEN 'AMOUNT_MISMATCH'
ELSE 'MATCHED'
END AS recon_status
FROM i
FULL OUTER JOIN p USING (provider, provider_txid);

10. 2 Διακανονισμός ↔ Τράπεζα

sql
SELECT s. settlement_date, s. batch_id, s. currency,
s. amount_settled, b. amount_bank,
(b. amount_bank - s. amount_settled) AS diff
FROM psp_settlements s
LEFT JOIN bank_statements b
ON b. value_date = s. settlement_date
AND b. currency = s. currency
AND ABS(b. amount_bank - s. amount_settled) <= 0. 5;

10. Γήρανση DLQ

sql
SELECT diff_type,
COUNT() AS cnt,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p50_age,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p95_age
FROM recon_dlq
GROUP BY diff_type
ORDER BY cnt DESC;

11) Χαρακτηριστικά σε σιδηροτροχιές/περιπτώσεις

Χάρτες: διαφορές μεταξύ προσαρμογών 'auth' και 'capture', καθυστερημένης 'διακανονισμού', αμοιβής ανταλλαγής/κυκλώματος - χωριστές γραμμές.
Τραπεζικές/RTP: άμεσες επιβεβαιώσεις, αλλά «αντιστροφή» δυνατή· ελέγξτε την «πληρωμή» και τις επιστροφές.
πορτοφόλια: συχνά τέλεια «πάροχος _ txid», γρήγορη «επιστροφή χρημάτων»· παρακολουθούν τις γραμμές τελών.
Κουπόνια: καμία συμμετρική επιστροφή χρημάτων - αντικατοπτρίζουν σωστά την πολιτική και τις εκθέσεις.
Crypto: επί αλυσίδας hash ↔ provider_txid. επιβεβαιώσεις N· λογιστική καταγραφή των προμηθειών δικτύου και των πιθανών εκπτώσεων· συναλλαγματική ισοτιμία - κατά τη στιγμή της μετατροπής.

12) Λειτουργικά βιβλία αναπαραγωγής

Αύξηση MISSING_INTERNAL: έλεγχος για απώλεια webhooks/retrays, επανάληψη κατάποσης, ενεργοποίηση δημοσκοπήσεων API.
από ένα PSP: συγκρίνετε στρογγυλοποίηση/ΦΠΑ/μοντέλο τελών, ζητήστε δήλωση διόρθωσης.
Ο διακανονισμός δεν συνδέεται με την τράπεζα: ημερομηνία αξίας ελέγχου, τραπεζικές προμήθειες, καθυστερήσεις T + N. Ο λογαριασμός «Suspense Account» τοποθετείται προσωρινά.
REFUND_OVER μάζας: άμεση διακοπή αυτόματης επαναπλήρωσης, έλεγχος ταυτότητας, χειροκίνητη διόρθωση.
: καθορίστε την πολιτική της πηγής συναλλαγματικών ισοτιμιών (ΕΚΤ/PSP/BANK), υπολογίστε εκ νέου τις διαφορές P&L.

13) Έλεγχος και ασφάλεια

Ταυτότητα κατάποσης: 'αρχείο _ id + checksum' και ιστορικό λήψης.
Πρόσβαση (RBAC) και έλεγχος 4 οφθαλμών: για χειροκίνητες διορθώσεις/καταχωρίσεις σε περιοδικό.
Διαδρομή ελέγχου: όλα τα σπίρτα/διαιρέσεις/διορθώσεις - σε αμετάβλητο ημερολόγιο.
Ποιότητα δεδομένων: συστήματα, υποχρεωτικά πεδία, επικύρωση νομίσματος/κλίμακας.

14) Ταμπλό και προειδοποιήσεις

Widgets: Auto-match%, Mismatch Rate, Aging DLQ, Settlement Timing, Fee Accuracy, top PSP by diff, diff-type map.

Καταχωρίσεις:
  • 'Auto-match% <90%' ανά πάροχο/ημέρα → P1
  • «Γήρανση p95> 3 ημέρες» → P2
  • 'ΠΟΣΟ _ Ακίδα MISMATCH' → P1
  • «Bank≠Settlement» κατά ποσό/νόμισμα → P0

15) Περιπτώσεις δοκιμής (UAT/Prod)

1. Επαναφόρτωση του ίδιου αρχείου → 0 παρενέργειες (idempotency).
2. Μερική αναπλήρωση (3 γραμμές) → ποσό ταιριάζει, ταιριάζει με ακολουθία.
3. μετατροπή FX: απόκλιση της συναλλαγματικής ισοτιμίας εντός της ανοχής → ορθή αντιστοιχία.
4. Διπλή provider_txid στην έκθεση → αποσύνθεση και συναγερμός.
5. Η χαμένη σύλληψη → δημοσκόπηση έκλεισε το κενό, η κατάσταση ευθυγραμμίζεται.
6. Παρτίδα διακανονισμού με γραμμή τελών → ορθή ανάλυση εσόδων/τελών/καθαρών.

16) Συχνά λάθη και τρόπος αποφυγής

Συγκρίνετε την «προσπάθεια» με τη «σύλληψη» → διατηρείτε την ίδια κοκκότητα.
Η απουσία του 'provider _ txid' στο ημερολόγιο → χάνει την ακρίβεια του αγώνα.
Αγνοήστε τη χρονική ζώνη → αντισταθμίζεται από τις ημερομηνίες διακανονισμού.
Δεν υπάρχουν DLQ/ρετράς → «αιώνιες» διαφορές.
Χειροκίνητες επεξεργασίες χωρίς καταγραφή → ασυνέπεια με τον έλεγχο.
Ασαφείς ανοχές → είτε επανασύνδεση είτε «όλα σε DLQ».

17) Κατάλογος ελέγχου εφαρμογής

  • Ενοποιημένο σύστημα τυποποίησης και PSP/μέθοδος/καταλόγους λογαριασμών
  • Χαρτογραφώντας το βασικό δέντρο (txid ασαφές)
  • Ανοχές ποσότητας/χρόνου/FX, Πολιτική πηγής μαθημάτων
  • Idempotent ingestion, DLQ, retrai, alerts
  • Πολιτική συμφιλίωσης, εκκρεμών λογαριασμών
  • Dashboard KPI, χρηματοοικονομική έκθεση/έκθεση ελέγχου
  • Playbooks and SLA parsing diff cases

Περίληψη

Η συμφιλίωση είναι μια μηχανική πειθαρχία: ομαλοποίηση, αξιόπιστα κλειδιά, ανοχές, αυτόματα σπίρτα και διαφανείς διορθώσεις. Με ένα τέτοιο περίγραμμα, σταθεροποιείτε τα έσοδα και τις προμήθειες, ελαχιστοποιείτε τις «μαύρες τρύπες», επιταχύνετε το κλείσιμο της περιόδου και ελέγξτε χωρίς πόνο: Auto- match%↑, Mismatch↓, Aging↓.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.