Προς το περιεχόμενο
  • 0
Uberalles_gr

Πρόβλημα με hashkey τράπεζα Πειραιώς

Ερώτηση

Καλησπέρα σε όλους,

έχω μια custom PHP εφαρμογή όπου υπάρχει η ανάγκη για online πληρωμή και έχω συνδεθεί με την Πειραιώς.

Είμαι στο test environment και όλα μια χαρά. Παίζουν όλα όπως πρέπει ΕΚΤΟΣ από το hash key όπου αυτό που μου στέλνει η τράπεζα όταν η συναλλαγή είναι επιτυχημένη με αυτό που παράγω εγώ ΔΕΝ είναι το ίδιο. Στο pdf με τις οδηγίες, έχουν και ένα παράδειγμα για το πως υπολογίζεται το hash key (έχω κάνει attach τα σχετικά σημεία)

Εγώ χρησιμοποιώ το παρακάτω τρόπο στην PHP

$key = '4236ece6142b4639925eb6f80217122f;99999999;14;Test;389700;MyParam;00;364629;02;1;Success';
$hashkey = strtoupper(hash('sha256', $key));

όπου οι τιμές που έχω είναι αυτές που έχουν στο παράδειγμα η τράπεζα αλλά λένε ότι πρέπει να γυρίζει το 551F158E669965F30BCFA65E558FD4AABB191D394DE39BE2ADFAB416575102D7  όταν εμένα το δικό μου γυρνάει το E427B994D9DEE2C4DBC0C8F357BC319AB0CEAB094A5D7298D2657065DFDFD86E

Τι κάνω λάθος;

Ευχαριστώ,
Βασίλης

1.jpg

2.jpg

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

9 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0
54 λεπτά πριν, NoD είπε

Πρέπει να κάνεις χρήση της hash_hmac προφανώς και όχι της hash().

Πάλι λάθος μου γυρνάει όταν χρησιμοποιώ το παρακάτω

$key = '4236ece6142b4639925eb6f80217122f;99999999;14;Test;389700;MyParam;00;364629;02;1;Success';
echo strtoupper(hash_hmac('sha256', $key, 'secret'));

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 1
Δημοσ. (επεξεργασμένο)

@Uberalles_gr Σου γυρνάει λάθος γιατί έχεις βάλει αυθαίρετα ένα δικό σου string ('secret') στη θέση του secret.
Στην περίπτωσή σου βάλε όπου secret το Transaction Ticket.
Δηλαδή:

<?php

$concatstring = '4236ece6142b4639925eb6f80217122f;99999999;14;Test;389700;MyParam;00;364629;02;1;Success';
$transticket = '4236ece6142b4639925eb6f80217122f';

$hash_key = strtoupper(hash_hmac('sha256', $concatstring, $transticket, false));

echo $hash_key;

Όσο για το μπαμπουίνο που ζητάει χρήματα, δε θα σχολιάσω. 😛

Επεξ/σία από vadou
  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
13 ώρες πριν, vadou είπε

@Uberalles_gr Σου γυρνάει λάθος γιατί έχεις βάλει αυθαίρετα ένα δικό σου string ('secret') στη θέση του secret.
Στην περίπτωσή σου βάλε όπου secret το Transaction Ticket.
Δηλαδή:

<?php

$concatstring = '4236ece6142b4639925eb6f80217122f;99999999;14;Test;389700;MyParam;00;364629;02;1;Success';
$transticket = '4236ece6142b4639925eb6f80217122f';

$hash_key = strtoupper(hash_hmac('sha256', $concatstring, $transticket, false));

echo $hash_key;

Όσο για το μπαμπουίνο που ζητάει χρήματα, δε θα σχολιάσω. 😛

@vadouΕυχαριστώ!

Οι πελάτες έχουν μια μηνιαία υπηρεσία και έχουν επιλέξει ότι κάθε μήνα θέλουν αυτόματη ανανέωση. Πως θα μπορούσα να το κάνω αυτό, δηλαδή μια αυτόματη συναλλαγή κάθε μήνα για ένα συγκεκριμένο ποσό;

Επεξ/σία από Uberalles_gr
  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δεν έχει χρειαστεί να φτιάξω κάποιο subscription based system, οπότε δεν ξέρω να σου πω τι να κάνεις ακριβώς.
Ενδεχομένως το πρώτο πράγμα που θα σκεφτόμουν είναι να χρεώσω το ποσό των 12 μηνών πχ και να το σπάσω σε 12 δόσεις.

Αν ψάξεις για instal(l)ments (δόσεις) ή recurring payments (επαναλαμβανόμενες πληρωμές) φαντάζομαι θα βρεις κάποια λύση.

  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
11 ώρες πριν, vadou είπε

Δεν έχει χρειαστεί να φτιάξω κάποιο subscription based system, οπότε δεν ξέρω να σου πω τι να κάνεις ακριβώς.
Ενδεχομένως το πρώτο πράγμα που θα σκεφτόμουν είναι να χρεώσω το ποσό των 12 μηνών πχ και να το σπάσω σε 12 δόσεις.

Αν ψάξεις για instal(l)ments (δόσεις) ή recurring payments (επαναλαμβανόμενες πληρωμές) φαντάζομαι θα βρεις κάποια λύση.

Νομίζω ότι αυτό είναι και το πιο εύκολο, δηλαδή χρεώνεις όλο το ποσό αλλά το βάζεις σε δόσεις

Ευχαριστώ

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
3 ώρες πριν, Uberalles_gr είπε

Νομίζω ότι αυτό είναι και το πιο εύκολο, δηλαδή χρεώνεις όλο το ποσό αλλά το βάζεις σε δόσεις

Ευχαριστώ

Εαν εχεις μηνιαια συνδρομη τοτε πας recurring, αν το πας σε δοσεις και καποιος θελει να διακοψει τη συνδρομη, τι θα κανεις; 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
10 ώρες πριν, Predatorkill είπε

Εαν εχεις μηνιαια συνδρομη τοτε πας recurring, αν το πας σε δοσεις και καποιος θελει να διακοψει τη συνδρομη, τι θα κανεις; 

Έχεις ένα δίκιο.

Θα πρέπει να το δω και ίσως θα πρέπει να μιλήσω με τράπεζα να δω εάν υποστηρίζει με κάποιο τρόπο αυτό που θέλω (π.χ επανάληψης πληρωμής)

Ευχαριστώ για τις απαντήσεις σας

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.