Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  18 3661
Hei, jeg vil gjerne ha litt hjelp til å implementere 3D secure inn i en betalingsløsning jeg har laget med stripe.com.

Om mulig så kan jeg også betale litt om noen vil hjelpe meg med det.
https://stripe.com/docs/sources/three-d-secure

index.html

Kode

<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>Betaling</title>
  
  
  <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'>
  <script src="https://js.stripe.com/v3/"></script>

      <link rel="stylesheet" href="css/style.css">

  
</head>

<body>
  <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">

<div class="container">
  <div id="Checkout" class="inline">
      <h1>Betal ordre</h1>
      <div class="card-row">
          <span class="visa"></span>
          <span class="mastercard"></span>
          <span class="amex"></span>
          <span class="discover"></span>
      </div>
      <div>
          <div class="form-group">
              <label for="PaymentAmount">Beløp</label>
              <div class="amount-placeholder">
                  <span>Kr</span>
                  <span>10.00</span>
              </div>
			  <br>
<script>
var stripe = Stripe('<her er det dumt å legge ut api nøkkelen sin>');
var elements = stripe.elements();
</script>
<form action="process.php" method="post" id="payment-form">
  <div class="form-row">
    <label for="card-element">
      Kort
    </label>
    <div id="card-element">
      <!-- a Stripe Element will be inserted here. -->
    </div>

    <!-- Used to display Element errors -->
    <div id="card-errors" role="alert"></div>
  </div>

  <button>Betal nå</button>
</form>
<script>
// Custom styling can be passed to options when creating an Element.
var style = {
  base: {
    // Add your base input styles here. For example:
    color: '#32325d',
    lineHeight: '24px',
    fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
    fontSmoothing: 'antialiased',
    fontSize: '20px',
    '::placeholder': {
      color: '#aab7c4'
    }
  },
  invalid: {
    color: '#ff0000',
    iconColor: '#ff0000'
  }
};

// Create an instance of the card Element
var card = elements.create('card', {style: style});

// Add an instance of the card Element into the `card-element` <div>
card.mount('#card-element');
</script>
<script>
card.addEventListener('change', function(event) {
  var displayError = document.getElementById('card-errors');
  if (event.error) {
    displayError.textContent = event.error.message;
  } else {
    displayError.textContent = '';
  }
});
</script>
<script>
// Create a token or display an error when the form is submitted.
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
  event.preventDefault();

  stripe.createToken(card).then(function(result) {
    if (result.error) {
      // Inform the user if there was an error
      var errorElement = document.getElementById('card-errors');
      errorElement.textContent = result.error.message;
    } else {
      // Send the token to your server
      stripeTokenHandler(result.token);
    }
  });
});
</script>
<script>
function stripeTokenHandler(token) {
  // Insert the token ID into the form so it gets submitted to the server
  var form = document.getElementById('payment-form');
  var hiddenInput = document.createElement('input');
  hiddenInput.setAttribute('type', 'hidden');
  hiddenInput.setAttribute('name', 'stripeToken');
  hiddenInput.setAttribute('value', token.id);
  form.appendChild(hiddenInput);

  // Submit the form
  form.submit();
}
</script>
<script>
// Create a source or display an error when the form is submitted.
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
  event.preventDefault();

  stripe.createSource(card).then(function(result) {
    if (result.error) {
      // Inform the user if there was an error
      var errorElement = document.getElementById('card-errors');
      errorElement.textContent = result.error.message;
    } else {
      // Send the source to your server
      stripeSourceHandler(result.source);
    }
  });
});
</script>
<script>
function stripeSourceHandler(source) {
  // Insert the source ID into the form so it gets submitted to the server
  var form = document.getElementById('payment-form');
  var hiddenInput = document.createElement('input');
  hiddenInput.setAttribute('type', 'hidden');
  hiddenInput.setAttribute('name', 'stripeSource');
  hiddenInput.setAttribute('value', source.id);
  form.appendChild(hiddenInput);

  // Submit the form
  form.submit();
}
</script>
<br><a href="https://www.stripe.com"><img src="powered_by_stripe.png" alt="Powered by Stripe"  height="20" align="middle"><br>


</body>
</html>
process.php

Kode

<?php
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
require_once("vendor/autoload.php");
\Stripe\Stripe::setApiKey("<sikkert her også selv om det er  test>");

// Token is created using Stripe.js or Checkout!
// Get the payment token ID submitted by the form:
$token = $_POST['stripeToken'];

// Charge the user's card:
$charge = \Stripe\Charge::create(array(
  "amount" => 1000,
  "currency" => "nok",
  "description" => "Beskrivelse av varen",
  "source" => $token,
));
?>
Om behov for filer det refereres til kan jeg sende de til dere via dropbox elns.


Tusen takk på forhånd )
Sist endret av flexd; 16. august 2017 kl. 22:11.
Gjerne utdyp litt hva problemet er, hva du har prøvd og hvor det stopper.
Beklager. Er ikke god på å utdype. Problemer er at jeg vet ikke hvordan jeg skal integrere det i denne eksisterende koden.

Sitat av Yochi Vis innlegg
Gjerne utdyp litt hva problemet er, hva du har prøvd og hvor det stopper.
Vis hele sitatet...
Glemte å sitere^^
Sist endret av FreeMyKiwi; 15. august 2017 kl. 13:45. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Nå vet jeg dessverre ikke så mye om stripe, men det er generelt en veldig dårlig ide å legge ut api-keys på åpne nettforum.
Sitat av lor3ntz Vis innlegg
Nå vet jeg dessverre ikke så mye om stripe, men det er generelt en veldig dårlig ide å legge ut api-keys på åpne nettforum.
Vis hele sitatet...
Klar over det, disse keysene er ikke aktive
Ingen som kan noe?
Sitat av FreeMyKiwi Vis innlegg
Ingen som kan noe?
Vis hele sitatet...
Jeg kan noe (inkl svært mange på dette forumet). Greien er at jeg ikke gidder å gjøre jobben for deg, regner med det samme gjelder for "de andre".

Sitat av lor3ntz Vis innlegg
Nå vet jeg dessverre ikke så mye om stripe, men det er generelt en veldig dårlig ide å legge ut api-keys på åpne nettforum.
Vis hele sitatet...

Kode

sk_test_rKz1ITnHjWT8Ofsvfp0N65HE
Uthevet bokstaver burde vel gi et lite hint?
Sist endret av Spelly; 16. august 2017 kl. 19:14.
Sitat av Spelly Vis innlegg
Jeg kan noe (inkl svært mange på dette forumet). Greien er at jeg ikke gidder å gjøre jobben for deg, regner med det samme gjelder for "de andre".



Kode

sk_test_rKz1ITnHjWT8Ofsvfp0N65HE
Uthevet bokstaver burde vel gi et lite hint?
Vis hele sitatet...
Villig til å betale litt for en fungerende kode
Bea
Big Bad Wolf
Bea's Avatar
Du sier betale "litt", men er usikker på hva det betyr. Vet også ikke helt om det lureste er å få en random person på et forum til å implementere betalingsløsningen din. Hvordan skal du være sikker på at koden gjør det den skal, og ikke noe mer? Beste er nok å sette av litt tid å gjøre det selv!
Sitat av Bea Vis innlegg
Du sier betale "litt", men er usikker på hva det betyr. Vet også ikke helt om det lureste er å få en random person på et forum til å implementere betalingsløsningen din. Hvordan skal du være sikker på at koden gjør det den skal, og ikke noe mer? Beste er nok å sette av litt tid å gjøre det selv!
Vis hele sitatet...
Motsier du ikke litt deg selv? Du sier det ikke er det lureste å få en "random" person fra et forum til å implementere betalingsløsningen, for man kan ikke vite at koden gjør det den skal, samtidig sier du det beste er å gjøre det selv. Det virker ikke som vedkommende (TS) har kompetansen til å utføre jobben, eller har jeg oversett noe vesentlig?
Sist endret av Spelly; 16. august 2017 kl. 22:11.
Bea
Big Bad Wolf
Bea's Avatar
Poenget mitt var at TS burde tilegne seg den kunskapen som trengs for å få dette implementert, istedet fo å håpe at noen bare ønsker å gjøre det sånn helt uten videre. Bør ihvetfall komme med et konkret eksempel på hva "[...] betale litt fo en fungerende kode" betyr.
Meningen min med denne tråden var å se om noen ville gjøre dette som betalt arbeid. Ikke få noen til å slave for meg
Skummet kjapt gjennom Stripe sin dokumentasjon, og det ser da ut som du har kopiert inn de riktige tingene. Kan du forklare hva som skjer når du prøver å gjennomføre en betaling?

Hvor langt kommer du? Får du noen feilmeldinger (JS-feil i konsoll eller PHP-feil på server)? Kommer det noe til Stripe (regner med de har et dashboard med alle betalinger)?
Får gjennomført en normal betaling, men uten 3D secure som må implementeres med egen kode

Sitat av Yochi Vis innlegg
Skummet kjapt gjennom Stripe sin dokumentasjon, og det ser da ut som du har kopiert inn de riktige tingene. Kan du forklare hva som skjer når du prøver å gjennomføre en betaling?

Hvor langt kommer du? Får du noen feilmeldinger (JS-feil i konsoll eller PHP-feil på server)? Kommer det noe til Stripe (regner med de har et dashboard med alle betalinger)?
Vis hele sitatet...
3D secure r viktig fordi kundene mine føler seg utrygge uten
Sist endret av FreeMyKiwi; 16. august 2017 kl. 23:49. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
▼ ... over en måned senere ... ▼
▼ ... over en uke senere ... ▼
Sitat av bolla123 Vis innlegg
Vis hele sitatet...
Takk, hadde sett på den.

Fikk det til nå. Om noen er interresert kan deler av koden deles. Send PM
Sitat av FreeMyKiwi Vis innlegg
Om noen er interresert kan deler av koden deles. Send PM
Vis hele sitatet...
Heller fortell litt om hva du gjorde for å løse det og hva problemet faktisk var. Det gir mye mer verdi til forumet.
Sitat av Yochi Vis innlegg
Heller fortell litt om hva du gjorde for å løse det og hva problemet faktisk var. Det gir mye mer verdi til forumet.
Vis hele sitatet...
Ønsker ikke å dele koden offentlig. Ønsker å ha bittelitt kontroll på hvem som får den
Trenger ikke dele hele koden, men du kan likevel forklare litt rundt det. Var problemet manglende konfigurasjon eller var det en logisk brist i koden din? Mange syns sånt er interessant, og det hjelper ikke nestemann med problemer veldig mye om det ikke står noe.