Advertisement
Guest User

Untitled

a guest
May 30th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. <?php
  2.  
  3. require_once 'alipay/f2fpay/config/config.php';
  4.  
  5. class QRpay
  6. {
  7.  
  8. public static function createPay($params)
  9. {
  10. require_once 'alipay/f2fpay/model/builder/AlipayTradePrecreateContentBuilder.php';
  11. require_once 'alipay/f2fpay/service/AlipayTradeService.php';
  12. // 获取订单参数,订单号需要保证唯一
  13. $outTradeNo = $params['out_trade_no'];
  14. // 交易主题,会在付款对话框中显示
  15. $subject = $params['subject'];
  16. // 交易总价
  17. $totalAmount = $params['total_amount'];
  18. $body = $params['body'];
  19. // 交易过期时间
  20. $timeExpress = "5m";
  21.  
  22. // 支付订单参数构建
  23. $qrPayRequestBuilder = new \AlipayTradePrecreateContentBuilder();
  24. $qrPayRequestBuilder->setOutTradeNo($outTradeNo);
  25. $qrPayRequestBuilder->setTotalAmount($totalAmount);
  26. $qrPayRequestBuilder->setTimeExpress($timeExpress);
  27. $qrPayRequestBuilder->setSubject($subject);
  28. $qrPayRequestBuilder->setBody($body);
  29. // 调用qrPay方法获取当面付应答
  30. $qrPay = new \AlipayTradeService($config);
  31. $qrPayResult = $qrPay->qrPay($qrPayRequestBuilder);
  32. // 根据状态值进行业务处理
  33. $response = "";
  34. switch ($qrPayResult->getTradeStatus()){
  35. case "SUCCESS":
  36. case "FAILED":
  37. case "UNKNOWN":
  38. $response = $qrPayResult->getResponse();
  39. break;
  40. default:
  41. $response = "不支持的返回状态,创建订单二维码返回异常!!!";
  42. break;
  43. }
  44. return $response;
  45. }
  46.  
  47. public static function queryPay($payId)
  48. {
  49. require_once 'alipay/f2fpay/service/AlipayTradeService.php';
  50. // 就是生成订单的订单号
  51. $out_trade_no = $payId;
  52. //构造查询业务请求参数对象
  53. $queryContentBuilder = new \AlipayTradeQueryContentBuilder();
  54. $queryContentBuilder->setOutTradeNo($out_trade_no);
  55. //初始化类对象,调用queryTradeResult方法获取查询应答
  56. $queryResponse = new \AlipayTradeService($config);
  57. $queryResult = $queryResponse->queryTradeResult($queryContentBuilder);
  58. // 根据状态值进行业务处理
  59. $response = "";
  60. switch ($queryResult->getTradeStatus()){
  61. case "SUCCESS":
  62. case "FAILED":
  63. case "UNKNOWN":
  64. $response = $queryResult->getResponse();
  65. break;
  66. default:
  67. $response = "不支持的查询状态,交易返回异常!!!";
  68. break;
  69. }
  70. return $response;
  71. }
  72. /**
  73. * 退款请求
  74. */
  75. public static function refundPay($params)
  76. {
  77. require_once 'alipay/f2fpay/model/builder/AlipayTradeRefundContentBuilder.php';
  78. require_once 'alipay/f2fpay/service/AlipayTradeService.php';
  79. // 获取退款参数
  80. $out_trade_no = $params['out_trade_no'];
  81. $refund_amount = $params['refund_amount'];
  82. $out_request_no = $params['out_request_no'];
  83. //创建退款请求builder,设置参数
  84. $refundRequestBuilder = new AlipayTradeRefundContentBuilder();
  85. $refundRequestBuilder->setOutTradeNo($out_trade_no);
  86. $refundRequestBuilder->setRefundAmount($refund_amount);
  87. $refundRequestBuilder->setOutRequestNo($out_request_no);
  88. //初始化类对象,调用refund获取退款应答
  89. $refundResponse = new AlipayTradeService($config);
  90. $refundResult = $refundResponse->refund($refundRequestBuilder);
  91. // 根据状态值进行业务处理
  92. $response = "";
  93. switch ($refundResult->getTradeStatus()){
  94. case "SUCCESS":
  95. case "FAILED":
  96. case "UNKNOWN":
  97. $response = $refundResult->getResponse();
  98. break;
  99. default:
  100. $response = "不支持的交易状态,交易返回异常!!!";
  101. break;
  102. }
  103. return $response;
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement