OmiseのWebhookでカード決済完了メール送信用PHP

OmiseのWebhookでカード決済完了メール送信用PHP

当PHPは2021年3月13日より販売向けではなく、PHP作成用のソースを公開とさせて頂きました。


Omise決済(Omise Payment)」のWebhook機能と連動させる事で、Omiseのクレジットカード決済が完了と同時に、PHPに設定したメールアドレスへ決済完了通知を送信出来るようにするPHPの作成方法(作り方)のご紹介です。
お問い合わせや不具合などには一切対応が行えませんこと予めご了承お願い致します。

[PR | 広告]

このスクリプトの特徴について

・Omise Japan株式会社(サービス名称:Omise Payment)の管理画面内「Webhooks」内にこのPHPスクリプトを設置したURLを設定する事で、Omiseのクレジットカード決済が完了と同時に、PHP内に設定したメールアドレスへ、決済完了通知を送れるようになります
(Omiseカード決済のみを対象としています)

設置するファイルは1つだけなので、とても簡単です。

こんな場合におすすめ

Omise決済の「Links(リンク型決済)」で確実に通知を受け取れる
Omiseのリンク型決済では、簡単なURLを、例えばメール内に記載するだけで、クレジットカード決済画面へのリンクを作れますが、ご利用者側が「決済完了通知用メールアドレス」箇所を空欄のまま決済を行うと、販売者側へは全く通知が届かないのですが、このPHPを使う事で、確実に決済通知を受け取る事が可能になります。

Omise決済と連携するサービスご利用の際に
何かのサービスをご利用中で、カード決済導入としてOmise決済と連携させた場合、もし決済完了の際にOmiseから決済完了通知を受け取れない場合など、このPHPを使う事で、決済通知を受け取る事が可能になります。

まずは「Omise Japan」に新規登録(初期費用、月額費用無料)を行います

Omise: 開発者向けクレジットカード決済サービス
Omiseは、タイに拠点を置く東南アジアの決済ゲートウェイで、加盟店や企業ビジネスにセキュリティとホワイトレーベル・ソリューションを提供しています。ファーストライブアカウントの有効化、主要言語のプラグイン、モバイル決済SDKのライブラリ、Woocommerce、MagentoおよびオープンチャットPlugins
Omise決済導入前に必要なサービスへの登録と準備
クレジットカードに加えWEBコンビニ、Pay-easy、ネットバンク決済にも対応出来る「Omise決済(Omise Payment)」導入前に事前に準備しておく内容をお知らせ致します。■Omise決済導入前に準備しておく事当社の以...
[PR | 広告]

「PHP」を作成します

まず、以下のソースを全てコピーし「PHP」を「utf-8」で作成し、「$GET_EMAIL = ‘○○’;」の「○○」箇所を「お支払い通知送信先希望メールアドレス」に変更し、PHPに「任意の名前を付けて保存」します。
(「$Complete_or」の変数は、即時売上か認証売上かについての値が入ります)
Omise決済に対応したブラウザは、最新且つSSL暗号化方式がTLS1.2に対応した物のみ対象となります。

<?php
	
  # お支払い通知送信先
  $GET_EMAIL = '○○';
  
  $json_string = file_get_contents('php://input');
  $JSON = json_decode($json_string, true);
  
  $Event_Name = "{$JSON['key']}";
  $Complete_Au = "{$JSON['data']['authorized']}"; # trueなら1が入る
  $Complete_or = "{$JSON['data']['paid']}"; # trueなら1が入る
  if($Event_Name == 'charge.create' && $Complete_Au == '1')
  {
    if($Complete_or == '1')
    {
      # 店へメール
      $to      = "$GET_EMAIL";
      $subject = "お支払い通知 | Omise決済";
      $message = <<< EOM
Omise決済でお支払いがありました。

■ 課金id : {$JSON['data']['id']}
EOM;
	  
      $headers = "From: $GET_EMAIL" . "\r\n";
      $param = "-f$GET_EMAIL";
    
      mb_send_mail($to, $subject, $message, $headers, $param);
    }
    else
    {
      # 店へメール
      $to      = "$GET_EMAIL";
      $subject = "認証通知 | Omise決済";
      $message = <<< EOM
Omise決済で認証がありました。

管理画面で実売上化が必要です。

■ 課金id : {$JSON['data']['id']}
EOM;
	  
      $headers = "From: $GET_EMAIL" . "\r\n";
      $param = "-f$GET_EMAIL";
    
      mb_send_mail($to, $subject, $message, $headers, $param);
    }
  }
  else
  {
  	echo "アクセスエラー";
  }
  
  exit;

?>

■ OmiseのWebhook(ウェブフック)の詳細について

Omise: Webhook
Web hookを使用するとAPIもしくはダッシュボード上で取引がされる毎に、自動的にOmiseサーバーから指定されたURLへHTTP通信で通知が送られる仕組みを指します。通知内容は、取引に関するペイロードのデータを含むイベントオブジェクトで選択したURLに送信されます。送信先URLは何回でも変更が可能で、テストモード...
[PR | 広告]

PHPをアップロードし「Webhookエンドポイント」を設定します

作成したPHPをサーバーへアップロードし、Omise決済の管理画面で「Webhookエンドポイント」を設定します。

Omise

なお、テストバージョンでは「テストダッシュボード内Webhooks」で、本番バージョンでは「ライブダッシュボード内Webhooks」で、それぞれ設定する必要があります。
(URLはサーバー上にアップロードされている「https://~の絶対パス」で入力します)

通常は決済と同時に確定される「即時売上タイプ」のため「お支払い通知 | Omise決済」のタイトルでメールが届きますが、「実売上化が必要(認証売上)」な決済の場合は「認証通知 | Omise決済」のタイトルでメールが届きます

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

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

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

■ 関連記事

[PR | 広告スペース]