Stripe: create charge using a one-time token

9 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€48.02
List Price:  €67.23
You save:  €19.21
£39.14
List Price:  £54.79
You save:  £15.65
CA$71.63
List Price:  CA$100.29
You save:  CA$28.65
A$80.06
List Price:  A$112.09
You save:  A$32.03
S$67.51
List Price:  S$94.52
You save:  S$27.01
HK$388.46
List Price:  HK$543.88
You save:  HK$155.41
CHF 44.24
List Price:  CHF 61.94
You save:  CHF 17.70
NOK kr563.34
List Price:  NOK kr788.73
You save:  NOK kr225.38
DKK kr358.57
List Price:  DKK kr502.03
You save:  DKK kr143.46
NZ$88.43
List Price:  NZ$123.81
You save:  NZ$35.37
د.إ183.61
List Price:  د.إ257.07
You save:  د.إ73.45
৳5,964.32
List Price:  ৳8,350.53
You save:  ৳2,386.20
₹4,269.04
List Price:  ₹5,977
You save:  ₹1,707.95
RM224.30
List Price:  RM314.04
You save:  RM89.74
₦77,264.53
List Price:  ₦108,176.53
You save:  ₦30,911.99
₨13,894.99
List Price:  ₨19,454.09
You save:  ₨5,559.10
฿1,708.15
List Price:  ฿2,391.55
You save:  ฿683.40
₺1,759.41
List Price:  ₺2,463.31
You save:  ₺703.90
B$318.75
List Price:  B$446.27
You save:  B$127.52
R937.33
List Price:  R1,312.34
You save:  R375
Лв93.99
List Price:  Лв131.59
You save:  Лв37.60
₩72,848.40
List Price:  ₩101,993.60
You save:  ₩29,145.19
₪182.43
List Price:  ₪255.42
You save:  ₪72.98
₱2,932.41
List Price:  ₱4,105.61
You save:  ₱1,173.20
¥7,857.17
List Price:  ¥11,000.67
You save:  ¥3,143.49
MX$1,008
List Price:  MX$1,411.29
You save:  MX$403.28
QR181.52
List Price:  QR254.14
You save:  QR72.62
P693.18
List Price:  P970.50
You save:  P277.32
KSh6,450.70
List Price:  KSh9,031.50
You save:  KSh2,580.80
E£2,541.20
List Price:  E£3,557.88
You save:  E£1,016.68
ብር6,354.82
List Price:  ብር8,897.26
You save:  ብር2,542.43
Kz45,590.88
List Price:  Kz63,830.88
You save:  Kz18,240
CLP$49,454.60
List Price:  CLP$69,240.40
You save:  CLP$19,785.80
CN¥364.87
List Price:  CN¥510.85
You save:  CN¥145.98
RD$3,040.26
List Price:  RD$4,256.60
You save:  RD$1,216.34
DA6,753.71
List Price:  DA9,455.74
You save:  DA2,702.02
FJ$115.90
List Price:  FJ$162.28
You save:  FJ$46.37
Q384.44
List Price:  Q538.26
You save:  Q153.81
GY$10,442.13
List Price:  GY$14,619.81
You save:  GY$4,177.68
ISK kr6,976.10
List Price:  ISK kr9,767.10
You save:  ISK kr2,791
DH503.31
List Price:  DH704.68
You save:  DH201.36
L920.86
List Price:  L1,289.28
You save:  L368.41
ден2,954.07
List Price:  ден4,135.94
You save:  ден1,181.86
MOP$399.27
List Price:  MOP$559.01
You save:  MOP$159.74
N$928.04
List Price:  N$1,299.34
You save:  N$371.29
C$1,836.54
List Price:  C$2,571.30
You save:  C$734.76
रु6,797.51
List Price:  रु9,517.06
You save:  रु2,719.54
S/185.85
List Price:  S/260.20
You save:  S/74.35
K202.57
List Price:  K283.61
You save:  K81.04
SAR187.71
List Price:  SAR262.82
You save:  SAR75.10
ZK1,381.27
List Price:  ZK1,933.89
You save:  ZK552.61
L239.16
List Price:  L334.85
You save:  L95.68
Kč1,208.85
List Price:  Kč1,692.49
You save:  Kč483.63
Ft19,737.39
List Price:  Ft27,633.93
You save:  Ft7,896.53
SEK kr544
List Price:  SEK kr761.65
You save:  SEK kr217.64
ARS$51,344.11
List Price:  ARS$71,885.87
You save:  ARS$20,541.75
Bs344.88
List Price:  Bs482.86
You save:  Bs137.98
COP$220,596.26
List Price:  COP$308,852.42
You save:  COP$88,256.15
₡25,341.90
List Price:  ₡35,480.70
You save:  ₡10,138.79
L1,268.10
List Price:  L1,775.44
You save:  L507.34
₲389,249.85
List Price:  ₲544,980.94
You save:  ₲155,731.08
$U2,221.61
List Price:  $U3,110.44
You save:  $U888.82
zł204.67
List Price:  zł286.56
You save:  zł81.88
Already have an account? Log In

Transcript

Okay, so we finally add some code to charge our user through thrive. Let's create a stripe.js file inside a stripe directory. We import our command code to generate responses, and we import the stripe key from our configuration file. Now we import stripe and we pass as an argument our stripe secret key and we bust our stack config dot stripe secret key. We then instantiate our articles class and we create finally the stripe class. In the constructor we are going to add some code to keep a reference of stripe in this class and to define our The fourth currency that in our case is euro.

Now, we are going to define the charge card one time token. So it's a method that will use a one time token to charge the user cart. The first parameter is the article id that we would like to buy. The second parameter is the token ID that is passed by the front end, we will check this token soon. And an optional third parameter that is the currency. So we retrieve the article and we check that the article exists.

If this is not the case, we just copy and paste our code to reject we now have a response that states that not found error if we have the article in earliest We need to retrieve its price according to stripe, we need to reduce the price incense, so we are going to just multiply the price by 100. So the good article price is accordingly, strict definition multiplies by 100, the price that we have in our very simple database. So, let's go back to our code to our charge card one time token, article, sorry, method, and we generate the article from sorry, the price from a specific article. And now we are ready to create a charge for the user, so we use this dot stripe API dot charges. And we set the amount that is, of course the article price. The currency of course it is our currency, then as a source, we are going to use the token ID and a description that for us, it's simply the article title.

But feel free to add some more meaningful message. And if everything is fine, we print we log the response so you can study it. And then we assume that everything is fine, you can do some deeper checks. For example, you can check the paid property of resolve in order to check if everything is fine, but this is not part of the course and you can check everything in the Very good stripe API documentation. So we review the trunks the transaction ID from the response by stripe and we return that success response with the bigger sets to based on transaction ID. So, we have to catch for errors now.

And even here we are going to log the error and so console dot error and we log the error then we are going to create our error message such that these the error message passed by stripe if present either right otherwise our Default error message when purchase fails, same story for the error code so but now, we use our default purchase felid code as a prefix and if there is even a code passed by stripe we are going to just add this to our error code just to have a default and clear error code when a purchase fails. And and right now we are going to reject with never response. We will the fields set accordingly. status code service decreases server server status codes pushes failed Then our code is our generated error code and same for my such. So, what we do now is of course to export the stripe class we create an additional route for the Portuguese for the Portuguese route.

And we are now ready to We are now ready to create a second post request for our proof chase endpoint So, as usual, we define our app dot post. He thought of course, always validate the user input and we are going to instantiate our new newly created stripe object. So to do this we have to require it. So, dot stripe slash stripe, and we are going to instantiate a stripe class. So const stripe equals new stripe. Let's do these all lowercase.

So return stripe out. charge card, one time token and we just pass here the article id If remember, we have to pass the token ID and the currency will will stay the default one. So article ID token ID. As usual, we are going to just use our common code. So let's launch the server again with node index j s. And let's try to check if our endpoint works. So we do a curl request, object application JSON content type.

We pass on our sequel ID. We just try with not text system one just to check if our control is okay. Then we pass up testing token ID of course this will fail and we have to set That is a POST request and then we can write down the end point. So local last and checkout purchase. We just add some code to pretty print the JSON. Okay, so we have our no article we didn't even add found that's fine.

It's 404 error. And now we try with an extender to add but of course, the look and feels so as you can see, we have a purchase purchase fitted. We did the code I did after the prefix and the message retrieve it from stripe so no such token testing wrong token

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.