- create a ionic project
- ionic start ionicStripe blank
- install the stripe plugin
- ionic cordova plugin add cordova-plugin-stripe
- npm install --save @ionic-native/stripe
-
add stripe to module.ts import { Stripe } from '@ionic-native/stripe';
-
in payment page :
- import stripe again import { Stripe } from "@ionic-native/stripe"; and add it to constructor
- get credit card information
cardinfo: any = { number: 4242424242424242, expMonth: 8, expYear: 2020, cvc: 213 } 6. I need togenerate token with stripe ans to make payment, in my case, I record all the orders in my database before starting the payment process with stripe
- this.stripe.setPublishableKey('pk_test**************');
- this.stripe.createCardToken(this.cardinfo).then((response)=>{ // I get my token here response.id });
- i need to save the orders in my database this.stripe.createCardToken(this.cardinfo).then((response)=>{ // I get my token here response.id const Payment = skygear.Record.extend('payment'); skygear.publicDB.save(new Payer({ 'token': response, 'description':"decri[tion payment", 'prix':100, })).then((record) => { console.log(record); }, (error) => { console.error(error); }); });
- i create a cloud function
const skygear =require ('skygear'); const skygearCloud = require('skygear/cloud'); var stripe = require("stripe")("sk_test********************"); skygearCloud.afterSave('payment', function(record, original, pool, options) { // write your code stripe.charges.create({ amount: record.prix, currency: "usd", source: record.token.id, description: record.description }, function(err, charge) { if (err) { console.log("Erreur" + JSON.stringify(err)) } // asynchronously called }); }, { async: false });