前回では「受注完了のメールを送信するタイミング」の修正に関するカスタマイズを説明しました。
今回は2つ目の問題、「入金日」に関する問題を修正しましょう。
入金日はEC-Cube2.11から導入された項目です。
「ダウンロード販売」等を行う場合、決済後かどうかの判定、また決済が終わってからの日数を
カウントする為に用いられます。
Paypal決済では決済完了後、即時支払い通知(IPN)がPaypalから自社ECサイトの
https://[自社サイト]/user_data/paypal_recv.php
にアクセスがあります。
(paypal_recv.phpはpaypalから提供されたモジュール[PayPal決済モジュール(2.11系)Version.2.0.0]に含まれています。)
このリクエストが成功した場合、「対応状況」が
「入金待ち」->「入金済み」
に変更されます。
しかし、「入金日」に変更は無くそのままですと、決済日の計算ができず、
「未入金」表示がされてしまします。
そこで「対応状況」と同時に「入金日」を変更するために、
/user_data/paypal_recv.phpの113行付近をに
[php]
case “Completed”:
$arrVal[‘status’] = ORDER_PRE_END;
$arrVal[‘payment_date’] = ‘NOW()’;//追加
break;
default:
[/php]
と$arrVal[‘payment_date’] = ‘NOW()’;を追加しましょう。
これで「入金日」が登録されるようになります。
これで「ダウンロード販売」も安心です。
※本変更から生じた被害に関しては責任を負いかねますので、適用は自己責任でお願いします。