現在、弊社の主力商品であるASPシステムを
維持費がなく、手数料が安い、
omise.coに移行します。
***
当時は、今使っている決済会社しかなかったのと、
omise.coが日本上陸初年度だったこともあり、
信頼感に欠けるため、客様に否定され、使用することが出来なかったのですが、
ECCUBE 2.13を使っているので、プラグインも用意されているので、
※3.x系は未対応
通常の決済では、このプラグインだけで十分ですが、
決済完了後に、別途メールを送信するため、
omise.co のダッシュボードにある「webhooks」を使い、
キックバックで、リアクションをもらい、
メールを送信します。
データは、POSTで送られ、JSON型であることは、
サポートに書かれている通り。
https://www.omise.co/api-webhooks
で、POSTされたデーターを見たいんだけど、
var_dump($_REQUEST)
としても、何も表示されず、1日格闘。
今日は、土曜日ということもあって、問い合わせも出来ず。
参考資料は、
だけ。
しかもあるのは、RubyとGoogleAppsScriptのサンプルだけ。
ほしいのは、PHP
php リクエストボディ json
ご存知の方はの方が多いと思うが、「JSON型はPOSTに値を含んでいない」らしく、
不具合ではなく、別に格納されていることに気づき、
調べてところ、
$json = file_get_contents(‘php ://input’);
要は、無知なだけだった・・・
あとは、配列に戻して、受注番号などを元に、
メールを送信するだけ。
$_ = json_decode($json, true);
既に、「変更したらこんなにお得!」なんて、
大風呂敷広げちゃったものだから、もうヒヤヒヤものでしたが、
あとは、申請して審査を待つだけ。
残る課題は、keyに入っている値。
クレジットの新規決済のときは、「charge.create」だけで良さそうだが、
charge.complete
課金が完了した時 (3Dセキュア、アリペイ、及びインターネットバンキング利用時)charge.complete 課金が完了した時 (3Dセキュア、アリペイ、及びインターネットバンキング利用時)
>>https://www.omise.co/ja/api-webhooks
とあり、
switch ($_[‘key’]) :
case ‘charge.create’:
/* なんか処理 */
endswitch;
の、caseを増やしていけばいいのかな?