Pay.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace Vip\Lib;
  3. use Dever;
  4. class Pay
  5. {
  6. /**
  7. * 支付成功后,调取的接口
  8. *
  9. * @return mixed
  10. */
  11. public function act_api($param = array())
  12. {
  13. $send = Dever::preInput('pay_');
  14. $key = md5('vip_buy');
  15. ksort($send);
  16. $send['signature'] = md5($key . '&' . http_build_query($send));
  17. $signature = Dever::input('signature');
  18. if ($send['signature'] == $signature) {
  19. $product_id = $send['pay_product_id'];
  20. $uid = $send['pay_uid'];
  21. $cash = $send['pay_cash'];
  22. $order_id = $send['pay_order_id'];
  23. $status = $send['pay_status'];
  24. $msg = $send['pay_msg'];
  25. $order = Dever::db('vip/order')->one(array('order_id' => $order_id, 'uid' => $uid));
  26. if ($send['pay_status'] == 2 && $order) {
  27. $update = array();
  28. $update['where_id'] = $order['id'];
  29. $update['status'] = 2;
  30. Dever::db('journal/order')->update($update);
  31. if ($order['type'] != 1) {
  32. return;
  33. }
  34. if ($order['buy_id'] > 0) {
  35. $buy = Dever::db('vip/time')->one($order['buy_id']);
  36. if ($buy) {
  37. $member = Dever::db('vip/member')->one(array('mobile' => $order['mobile'], 'cate_id' => $order['cate_id']));
  38. $insert['cate_id'] = $order['cate_id'];
  39. $insert['mobile'] = $order['mobile'];
  40. $insert['uid'] = $order['uid'];
  41. $time = time();
  42. $insert['end'] = $buy['time'] * 86400;
  43. if ($member) {
  44. $insert['end'] = $member['end'] + $insert['end'];
  45. $insert['where_id'] = $member['id'];
  46. Dever::db('vip/member')->update($insert);
  47. } else {
  48. $insert['end'] = $time + $insert['end'];
  49. $insert['start'] = $time;
  50. Dever::db('vip/member')->insert($insert);
  51. }
  52. # 发消息
  53. /*
  54. if (Dever::project('message')) {
  55. Dever::load('message/lib/data')->push(-1, $uid, '购买提醒', '购买成功,您获得了 '.$buy['name'].' 的会员资格!', 11);
  56. }
  57. # 发短信
  58. if (Dever::project('sms')) {
  59. $send = array();
  60. $send['name'] = $buy['name'];
  61. Dever::load('sms/api.send', 'buy_member', $order['mobile'], $send);
  62. }
  63. */
  64. }
  65. }
  66. } else {
  67. Dever::db('vip/order')->update(array('where_id' => $order['id'], 'status' => 3));
  68. }
  69. }
  70. }
  71. }