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

Τρόπος πληρωμής και τιμολόγηση σε custom site


hdonoblepsias

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

Δημοσ. (επεξεργασμένο)

Καλησπέρα. Έχω φτιάξει ένα custom site σε codeigniter το οποίο διαχωρίζει τους χρήστες σε free member, σε pro member και ultimate members που έχουν κάποια πλεονεκτήματα παραπάνω. Οι τιμές είναι σταθερές και ετήσιες για το κάθε membership.

Ποιος είναι ο τρόπος που μπορεί ένα μέλος να πληρώνει και για ένα χρόνο να είναι pro ή ultimate member?

α) Ποια υπηρεσία θα προτείνατε να μπορώ να ξεκινήσω άμεσα, χωρίς να τρέχω σε τράπεζες και χαρτούρες σε πρώτη φάση? Paypal μόνο?

β) Πέρα από το τρόπο πληρωμής που φαντάζομαι σε μια επιτυχημένη πληρωμή θα στέλνει πίσω ένα token ή api, ας πάμε και στο κομμάτι που όντως δέχτηκα μια επιτυχημένη πληρωμή. Πως πρέπει να χειριστώ τον χρήστη?

Ένας τρόπος που σκέφτηκα είναι ένα int πεδίο στην βάση, που θα δηλώνει το είδος του membership, δηλαδή 1=free,2=pro,3=ultimate. Με την εγγραφή θα ξεκινάει με 1.

Μετά να φτιάξω ένα πίνακα invoices που θα περιέχει το id του εκάστοτε χρήστη, ημερομηνία έναρξης και λήξης κλπ.

Και τέλος ένα cron job μια φορά την ημέρα που θα σαρώνει όλα τα invoices των μελών και θα ενημερώνει τα membership int στο πίνακα των users.

γ) Αν ο πελάτης μπορεί και βλέπει στον λογαριασμό του στο site μου τις πληρωμές του, είναι υποχρεωτικό να του στέλνω και pdf?

Επεξ/σία από hdonoblepsias
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Παιδιά καταστάλαξα τελικά στα smart buttons του paypal ως τρόπο πληρωμής.

https://developer.paypal.com/docs/checkout/

Εφτιαξα τα κουμπιά μου, έφτιαξα δυναμικά να αλλάζει η τιμή και έφτιαξα και να δέχομαι τα αποτελέσματα μετά από success συναλλαγή.


src="https://www.paypal.com/sdk/js?client-id=AWU2UgMk_CRKOqajbn3jbn5b43b5b43b53b45bjk&currency=EUR&locale=el_GR">

  paypal.Buttons({
    createOrder: function(data, actions) {
      // This function sets up the details of the transaction, including the amount and line item details.
      return actions.order.create({
          
        purchase_units: [{
          amount: {
            value: '0.01'
          }
        }]
      });
    },
    onApprove: function(data, actions) {
      // This function captures the funds from the transaction.
      return actions.order.capture().then(function(details) {
        // This function shows a transaction success message to your buyer.
        console.log(details);
      });
    }
  }).render('#paypal-button-container');

το δοκίμασα. Πληρώνομαι κανονικά και μου επιστρέφουν details. Το πρόβλημα είναι οτι μου επιστρέφουν details από τα στοιχεία που έχει βάλει ο πελάτης στην φόρμα του paypal συν ένα orderid που έχει φτιαχτεί στο paypal.

Έχω ψάξει όλο το paypal για να καταλάβω πως μπορώ να στείλω με το κουμπί και μια δική μου παράμετρο (πχ id του χρήστη που πληρώνει) και να μου επιστρέφει με την ολοκλήρωση της πληρωμής. Ωστέ να ξέρω οτί την πληρωμή την έκανε το συγκεκριμένο user id.

 

 

Επεξ/σία από hdonoblepsias
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γιατι να χρειαστεις να στειλεις στη paypal κατι; Στο success που παιρνεις απο το paypal, περνας στη βαση σου οτι ο χρηστης εκανε τη πληρωμη.

https://developer.paypal.com/docs/checkout/reference/server-integration/get-transaction/#on-the-server

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
55 λεπτά πριν, Predatorkill είπε

Γιατι να χρειαστεις να στειλεις στη paypal κατι; Στο success που παιρνεις απο το paypal, περνας στη βαση σου οτι ο χρηστης εκανε τη πληρωμη.

https://developer.paypal.com/docs/checkout/reference/server-integration/get-transaction/#on-the-server

α) Απλά αναρωτιόμουν πως θα ξέρω ποιος έκανε πληρωμή.

Δηλαδή...

Έστω οτι έχω στην βάση 3 μέλη

id | username | email

1 | bill | [email protected]

2 | kostas | [email protected]

3 | Nikos | [email protected]

και ξαφνικά βλέπω μία πληρωμή που έχει γίνει από την κάρτα πχ του πατέρα του Νίκου με άσχετα στοιχεία από αυτά που έχω στην βάση μου? Πως θα ξέρω οτι η πληρωμή έγινε από τον Niko ωστε να διαμορφώσω τον λογαριασμό του? Απλά σκεφτόμουν οτι σωστο θα ήταν να στείλω το user_id="3" ωστέ να λάβω από το paypal user_id="3" και να ξέρω οτί ο χρήστης 3 έκανε την πληρωμή.

β) Μια άλλη ιδέα που μου ήρθε τώρα είναι να ανακατευθυνω μετά το success σε μια σελίδα πχ sitemoy.gr/laststep στο οποίο εκεί θα παίρνω τα στοιχεία του χρήστη από το session id του και να τροποποιήσω το plan του συγκεκριμένου χρήστη στην βάση. Αυτό το σενάριο στο μυαλό μου, μου φαίνεται πολύ βολικό. Πως όμως θα αποτρέψω τον χρήστη να κάνει copy το url και να το χρησιμοποιήσει άλλη φορά?

Δηλαδή ο συνδεδεμένος free χρήστης πάει στην σελίδα του "λογαριασμού" του, θα πατήσει αναβάθμιση πακέτου, θα πληρώσει, και μετά θα τρέξω στο controller μια function last_step που θα πάρει το session id του χρήστη και θα αλλάξει στην βάσει το plan του από 1 που είναι το free σε 2 που είναι το pro. Αν όμως ο χρήστης αυτός, κρατήσει κάπου το url και την επόμενη φορά απλά το χτυπήσει στο browser, χωρίς να έχει προηγηθεί πληρωμή, πάλι δεν θα γίνει pro?

Edit: Στην β) λύση σκέφτηκα οτί θα μπορώ να τσεκάρω αν είναι isset το order_id του paypal. Είναι σωστός αυτός ο τρόπος?

 

 

 

 

Επεξ/σία από hdonoblepsias
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το β που σκεφτηκες το κανουν οσοι δεχονται πληρωμες με ανακατευθυνση στο site πληρωμων της τραπεζας και επιστροφη οταν γινει επιτυχης/ανεπιτυχης συναλλαγη. 
 

Διαβασε το documentation του paypal αναλυτικα και οχι με «διαγωνια αναγνωση», ολες οι αποριες που εχεις θα σου λυθουν. Ειναι λιγο χαοτικο αλλα πρεπει να το διαβασεις. Στο λινκ που παρεθεσα δε λυνει το προβλημα;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1 ώρα πριν, Predatorkill είπε

Το β που σκεφτηκες το κανουν οσοι δεχονται πληρωμες με ανακατευθυνση στο site πληρωμων της τραπεζας και επιστροφη οταν γινει επιτυχης/ανεπιτυχης συναλλαγη. 
 

Διαβασε το documentation του paypal αναλυτικα και οχι με «διαγωνια αναγνωση», ολες οι αποριες που εχεις θα σου λυθουν. Ειναι λιγο χαοτικο αλλα πρεπει να το διαβασεις. Στο λινκ που παρεθεσα δε λυνει το προβλημα;

To έχω διαβάσει 10 φορές και το λινκ, δεν καταλαβαίνω τιποτα γαμώτο. Μονο αυτό το βήμα μου λείπει να ολοκληρώσω το site. Εντω μεταξυ googlaρω και για integration codeigniter με paypal smart buttons και βγαίνουν αλλα ντ' αλλων.

Υ.Γ. Στο β) τρόπο που περιγράφω, ποιοι μπορεί να είναι κίνδυνοι? Αν πουλάω το προιόν 50€ και μου επιστρέψει το paypal success με order_id και amount 50€ που μπορεί να έχω πρόβλημα (δεν ρωτάω για να πω εξυπνάδα, από καθαρή απορία). Γιατί απο οτι κατάλαβα τα smart buttons  έτσι δουλεύουν.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...

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

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

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

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

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

Σύνδεση

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

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