· 5 years ago · Jun 10, 2020, 02:36 AM
1<?php
2// Include configuration file
3require_once 'includes/config.php';
4
5// Include Stripe PHP library
6
7require_once 'init.php';
8
9
10// Set API key
11\Stripe\Stripe::setApiKey("
12sk_test_51GrutUJ21s8WXSp699HYieoXzFfiR1ZTGLLwVt8qhYRds6yqc3cRYoz48MzTzYUI0eyDqMhrmkYeUMEHXRYaHvYF006GD16jc");
13
14$response = array(
15 'status' => 0,
16 'error' => array(
17 'message' => 'Invalid Request!'
18 )
19);
20
21if ($_SERVER['REQUEST_METHOD'] == 'POST') {
22 $input = file_get_contents('php://input');
23 $request = json_decode($input);
24}
25
26if (json_last_error() !== JSON_ERROR_NONE) {
27 http_response_code(400);
28 echo json_encode($response);
29 exit;
30}
31
32if(!empty($request->checkoutSession)){
33 // Create new Checkout Session for the order
34 try {
35 $session = \Stripe\Checkout\Session::create([
36 'payment_method_types' => ['card'],
37 'line_items' => [[
38 'price_data' => [
39 'product_data' => [
40 'name' => $productName,
41 'metadata' => [
42 'pro_id' => $productID
43 ]
44 ],
45 'unit_amount' => $stripeAmount,
46 'currency' => $currency,
47 ],
48 'quantity' => 1,
49 'description' => $productName,
50 ]],
51 'mode' => 'payment',
52 'success_url' => STRIPE_SUCCESS_URL.'?session_id={CHECKOUT_SESSION_ID}',
53 'cancel_url' => STRIPE_CANCEL_URL,
54 ]);
55 }catch(Exception $e) {
56 $api_error = $e->getMessage();
57 }
58
59 if(empty($api_error) && $session){
60 $response = array(
61 'status' => 1,
62 'message' => 'Checkout Session created successfully!',
63 'sessionId' => $session['id']
64 );
65 }else{
66 $response = array(
67 'status' => 0,
68 'error' => array(
69 'message' => 'Checkout Session creation failed! '.$api_error
70 )
71 );
72 }
73}
74
75// Return response
76echo json_encode($response);
77
78?>