クレジットカード決済を安く簡単に導入出来るサンプルPHP

クレジットカード決済を安く簡単に導入出来るサンプルPHP

オンラインクレジットカード決済を、コストを抑えて安く簡単に導入出来るPAY.JPチェックアウト」を使った、シンプルな決済用PHPのサンプル作成方法のご紹介です!
お問い合わせや不具合などには一切対応が行えませんこと予めご了承お願い致します。

[PR | 広告]

まずは「PAY.JPサービス」に新規登録(初期費用、月額費用無料)を行います

PAY.JP
様々なサービスにクレジットカード決済を無料で簡単に導入できる開発者向けのオンライン決済サービスです。シンプルなAPI・多彩な機能、分かりやすい料金形態のもと開発者であれば、WEB・モバイル・IoTなど様々なシーンで、通常決済や定期購入決済などを導入することが可能です。
PAY.JP決済導入前に必要なサービスへの登録と準備
初期費用、月額費用が一切かからず決済手数料3.0%~のみのオンラインクレジットカード決済サービス「PAY.JP決済」導入前に事前に準備しておく内容をお知らせ致します。■PAY.JP決済導入前に準備しておく事当社の以下PAY.JP決...

「PAY.JP」が公開する一部ファイルを使用します

以下より「PAY.JP」が公開する一部ファイルのダウンロードを行います。


サンプルとなる「PHP」を作成します

まず、以下のソースを全てコピーし、サンプルとなる「PHP」を「utf-8」で作成し、「sk_○○」と「pk_○○」箇所を「PAY.JP指定(テスト用)」の内容に変更し、「通知の送信先」の設定を行い、先ほどダウンロード後に展開した「init.php」と同じ階層に保存します。
(実際には複数のエラー分岐がありますが、サンプルのため1種類のみの表示としています)

[PR | 広告]
<?php

  require_once './init.php';

  # 秘密鍵
  $API_KEY = 'sk_○○';

  # 公開鍵
  $Pay_Jp_DATA_KEY = "pk_○○";

  # 決済完了通知の送信先
  $SHOP_EMAIL = 'メールアドレス';
  

if($_SERVER['REQUEST_METHOD'] === 'POST')
{
  $token = $_POST['payjp-token'];
  $amount = $_POST['amount'];
  
  if($token == '' or $token == 'undefined')
  {
      $HTML = <<< EOM
  	  <BR><BR>
      カード情報が未入力です
      <BR><BR>
EOM;
  
    echo $HTML;
  
    exit;
  }
  if($amount == '')
  {
   
    $HTML = <<< EOM
  	<BR><BR>
    金額が未入力です
    <BR><BR>
EOM;
  
    echo $HTML;
  
    exit;
  }

  $charge_check = 0;
  
  \Payjp\Payjp::setApiKey("$API_KEY");
  try
  {
    $charge = \Payjp\Charge::create([
    'card' => $token,
    'amount'=> $amount,
    'currency' => jpy
    ]);
    
    $END_HYOUZI_TXT = <<< EOM
    決済が完了致しました。
    <BR>
    ありがとうございました。
    <BR><BR>
EOM;

    error_log(var_export($charge, true));
  }

  catch (\Payjp\Error\InvalidRequest $e)
  {
    $charge_check++;
        
    $END_HYOUZI_TXT = <<< EOM
    <FONT color=RED>= <B>エラーが発生しました</B> =</FONT>
    <BR><BR>
    既にお手続きが終了しているかシステム上のエラーが発生しました。<BR>
    サイト側へお問い合わせください。
    <BR><BR>
EOM;
  }
  
  if($charge_check==0)
  {
    $to      = "$SHOP_EMAIL";
    $subject = "PAY.JP決済完了通知";
    $message = <<< EOM
決済完了通知(PAY.JP)

■ 決済合計金額 = $amount 円
■ チャージID = {$charge->id}
EOM;

    $headers = "From: $SHOP_EMAIL" . "\r\n";
    $param = "-f$SHOP_EMAIL";
    
    mb_send_mail($to, $subject, $message, $headers, $param);
  }
}

$HTML = <<< EOM
  <BR>
  $END_HYOUZI_TXT
EOM;
  
  echo $HTML;
  
  exit;

?>

■ エラーとなるリクエストの詳細について

PAY.JP API リファレンス
[PR | 広告]

カード情報入力画面となる「HTML」を作成します

次に、以下のソースを全てコピーし、クレジットカード情報を入力する画面のサンプルとなる「HTML」を「utf-8」で作成し、「pk_○○」箇所を「PAY.JP指定(テスト用)」の内容に変更し、「init.php」と同じ階層に保存します。

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META http-equiv="Content-Style-Type" content="text/css">
<meta name="viewport" content="width=device-width">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
<TITLE>サンプル</TITLE>
</HEAD>
<BODY>
<CENTER>
<BR>
<FORM action="PHPのURL" method="post">
<input type="hidden" name="amount" value="1000">
<FONT color="#ff0000">*:</FONT>
クレジットカード情報の入力<BR><BR>
      <script
      type="text/javascript"
      src="https://checkout.pay.jp/"
      class="payjp-button"
      data-partial="true"
      data-key="pk_○○" // 公開鍵
      data-text="クレジットカード情報を入力する" // 変更可
      data-submit-text="カード情報入力完了" // 変更可
      >
      </script>
<HR size="-1">
<BR>
<input type="submit" value="上記内容で決済を行う" style="background-color: #ccffff; width: 240px; height: 33px; font-size: 15px;">
<BR><BR>
</FORM>
</CENTER>
<BR><BR>
</BODY>
</HTML>

■ チェックアウト内で編集可能なパラメーターについて

PAY.JP
支払いをもっとシンプルに。PAY.JPならシンプルなAPI・多彩な機能・分かりやすい料金形態のもと、WEB・モバイル・IoTなど様々なシーンで決済を導入する事が可能です。

メールによるカード決済が出来るおすすめサービスについて

Square オンラインチェックアウト」を使えば、ウェブサイトに簡単に決済用ボタンを設置出来る他、メールを使ったカード決済も可能です。

システム構築不要「メールでオンラインクレジットカード決済」請求が出来るおすすめサービス
初期費用や月額費用なども一切発生せず無料で、特別なシステムの構築など必要とせず、メールを使った「オンラインクレジットカード決済」の請求が出来るおすすめのサービス「Square オンラインチェックアウト」のご紹介です。売上入金は「最短で...

■ 関連記事

[PR | 広告スペース]