Core.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace Payment\Lib;
  3. use Dever;
  4. class Core
  5. {
  6. /**
  7. * update order status
  8. */
  9. protected function updateOrder($order_id, $cash, $desc = '')
  10. {
  11. $db = Dever::db('payment/order');
  12. $info = $db->one(array('order_id' => $order_id, 'status' => 1));
  13. if ($info) {
  14. $param['where_id'] = $info['id'];
  15. $param['status'] = 2;
  16. $msg = '支付成功';
  17. if ($desc) {
  18. $param['status'] = 3;
  19. $param['status_desc'] = $desc;
  20. $msg = '支付失败||' . $desc;
  21. }
  22. $this->log($msg, $info);
  23. $db->update($param);
  24. }
  25. }
  26. /**
  27. * update order param
  28. */
  29. protected function updateOrderParam($order_id, $param)
  30. {
  31. $db = Dever::db('payment/order');
  32. $info = $db->one(array('order_id' => $order_id, 'status' => 1));
  33. if ($info) {
  34. $param['where_id'] = $info['id'];
  35. $param['param'] = Dever::array_encode($param);
  36. $db->update($param);
  37. }
  38. }
  39. /**
  40. * create order
  41. */
  42. protected function createOrder($uid, $account, $product_name, $amount, $currency, $type_name)
  43. {
  44. $db = Dever::db('payment/order');
  45. $order_id = Dever::order($account);
  46. $info = $db->one(array('order_id' => $order_id));
  47. if ($info) {
  48. return $this->createOrder();
  49. } else {
  50. $add['status'] = 1;
  51. $add['uid'] = $uid;
  52. $add['account'] = $account;
  53. $add['product_name'] = $product_name;
  54. $add['amount'] = $amount;
  55. $add['currency'] = $currency;
  56. $add['order_id'] = $order_id;
  57. $add['id'] = $db->insert($add);
  58. $msg = '发起支付';
  59. $this->log($msg, $add);
  60. }
  61. return $order_id;
  62. }
  63. /**
  64. * 获取回调url
  65. */
  66. protected function url($type)
  67. {
  68. $project = Dever::project('payment');
  69. return $project['url'] . 'daemon/notify/'.$type.'.php';
  70. }
  71. /**
  72. * 写日志
  73. */
  74. protected function log($msg, $data = array())
  75. {
  76. if ($data) {
  77. $data = Dever::json_encode($data);
  78. $msg .= '||' . $data;
  79. }
  80. Dever::log($msg, 'pay');
  81. }
  82. }