WordPressにStripeを実装する

wordpress

stripe組み入れるのは検索で以下発見したもので意外と簡単だった。
echo文でエラーになるので、この処理をどうするか実験必要。
もう少し考える必要があるようだ。

※参考サイト:https://crosspiece.jp/how-to-use-stripe/

●wp.lgs.jpでcheckout.phpが有効にならない件(2018.10.16)
libが転送されていなかった。おもてなしのもの転送したら問題なく支払いが完了した。

URL
https://dashboard.stripe.com/login
※ログインは第2パスワードは携帯にくるタイプにしている。

●ソースコードの場所
/wp-content/themes/wp-dcafe/checkout.php
※mb_language(“English”); を「japanese」にしないと漢字が化ける。日本国内対応なら注意すること。

<?php
require_once( dirname(__FILE__).'/lib/init.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
\Stripe\Stripe::setApiKey("sk_test_xxx");

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

// フォームから情報を取得:
try {
  $charge = \Stripe\Charge::create(array(
    "amount" => 1000,
    "currency" => "usd",
    "source" => $token,
    "description" => "Product name",
  ));
}catch (\Stripe\Error\Card $e) {
  // 決済できなかったときの処理
  die('Settlement did not complete');
}

// Auto replay mail
mb_language("English");
mb_internal_encoding("UTF-8");
$title = "Thank you for your payment";
$msg ="Thank you for your payment.\r\n";
$msg .= "We will email you more details later.\r\n";
$msg .= "If you do not receive an automatic reply mail notification to your mail address at the time of payment, please check whether it is in junk mail.\r\n\r\n";
$msg .= "We will send you notice when your payment is confirmed .\r\n";
$msg .= "If there is no notification, please contact us from the menu 'support'.\r\n\r\n";
$msg .= "Thank you.";
$content = $msg;
$from_name = "customer center";
$from_addr = "メールアドレス";
$from_name_enc = mb_encode_mimeheader($from_name, "UTF-8");
$from = $from_name_enc . "<" . $from_addr . ">";
$header  = "From: " . $from . "\n";
$header = $header . "Reply-To: " . $from;

//to user send mail
if(mb_send_mail($email,$title, $content, $header, "-f" .$from_addr)){
  //echo "Email sent";
} else {
  //echo "Failed to send mail";
};

// 管理者宛メール
$title_me = "Stripe report mail";
$from_me = "メールアドレス";
$content_me = "Stripe send mail report";
if(mb_send_mail($from_me,$title_me, $content_me, $header, "-f" .$from_addr)){
  //echo "Email sent";
} else {
  //echo "Failed to send mail";
};

// サンキューページへリダイレクト
header('Location: https://URLを書く/');
exit();

?>

 

●WordPressでのページに記述するコード

<form action="https://omo_welcome.com/wp-content/themes/wp-dcafe/checkout.php" method="POST">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_xxxxx"
 data-amount="1000" data-name="omowelcome" data-description="Member fee" data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
 data-locale="usa" data-currency="usd" data-zip-code="false" data-allow-remember-me="false" data-label="Pay with Card"></script>

●試験入力
VISA
424242 424242 424242
12/23 999(ここはなんでもいいようだ)

No tags for this post.
タイトルとURLをコピーしました