1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 2018/3/22
- * Time: 下午7:23
- */
- namespace Pay;
- define(ALIPAY_PATHEX, BASE_DATA_PATH . '/api/aop');
- require_once(ALIPAY_PATHEX . '/AopClient.php');
- require_once(ALIPAY_PATHEX . '/AopEncrypt.php');
- require_once(ALIPAY_PATHEX . '/request/AlipayTradeAppPayRequest.php');
- class aopay implements IPay
- {
- const ali_notifyurl = BASE_SITE_URL . '/mobile/alipay_notify_url.php';
- public function gen_pay($pay_sn, $fee,$order_sn,$subject)
- {
- $aop = new \aop\AopClient;
- $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
- $aop->appId = "2018030102293154";
- $aop->rsaPrivateKey = 'MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDiX4oFNqfl2eQZELFRHIPLe+JoAUUx9I2SzjkL090aMv4TuuqelSE5TCqLRVIPHyPBB3kUhTgVbkCM1pJ3dcr1+nXQ88mFXqRmcAcZtDeATK4T89v9e3ghQXozsOnOEY+/8FV7tF2WDanG4cE89UvXN9TkjzzLFgJ32to5Yyydwl+/pIa2Jk6BWLGwiY73KBod1Gkql5vJHOfM7/kJ8ROWZnzmNfo0AbXK+7jqZuQeFwIv5wTJFm2fF2CjV09+9QWdpaPJwWhvUPL3cJQWh9QAefHOfGav0GvemgZvWD0mx37mJgqXTYOxnhCGPYHmhSMWULs5q365h2rrlICxZrP5AgMBAAECggEAasjMr8bnjrqpKdXA/1UnKp7m307yGC2XdxAGwviPDSPOzPnYYTRR9thiHU529iEnWZAv4qkxGpLmqkkx0F5lfoFGgGnvvxU1Egl4n/xuTfxeBZV8SeerdGyRu76RnB6Wo+E4QeGEYBtT4jhuUlYYD48Lw0F6WQap5WX8mSOaUVQTfZoLGwwv1gtMvOdUd9iw+VRy6UKjLaqKGOcC7Cy27Cpzjb5K6+BnT8E3Gs0yRES2eL9mL9J7SWXe+XCgrCOig9wUBQuwXSWlogBzW/ZKeh7nqrQpsfEqmIV0lgPqsXk5/2bpyqepuOeZ0aQIx0lGcBmOxQViXyLFFESdbO2GAQKBgQDyCLtYc/iq/ekWh7Q7+ig6OOTzm7VqFE8Nif7ohpVr9gTyhoydz23GDpJ+YYRaeDCngRpbvZ/fe6EVDEpm0wsQ1f6nj+CDOxcJr9L+G/+y1tDE51HLSvsWMRw3I32hzu3qBTAFpXq4T1p/D1maIK2irkXC2zQv2pdKAwS2479EOQKBgQDvb3feexbvDpW7iR8cbMFlzWw7WuJSscA3U022EaqDAonFVMYMW5trtMFYcdhmxhy4OhMlk9NGK92i3eVND62VfS2sSFKUINt+6GtNUdr5miKn8z/eZIlQEOB3SM1tHd5fSedpEiwwxvSWqaku1fKMgoIbUT2JxqQb+yePj2htwQKBgDRXmRR2+BcalDbwIBU8c0isFy9rxB7tx27ZIgxtVpEjgkxktrJGMqo7aoj0U+gwx+zhqa6fYpy1Is/neYulJmZ8sPbR0a7vr3rD0HBt461scXezwuehDo3tDvoJrdi5ZJBQkOMXt2N2nc6OpkUDvilJYQLT3wReVIuH/ZQDytBZAoGAHJwuL5h3shMFE0acQBJCvb5hG2qNtqHkvPeoRoQv4r2v5rNtgtaDaMhNfhsEZ6tujRjrZscWLMFbF3X6S03/SOiPR5HQxEB02eI9yBxq1P50+6qWTCWpPrb1i2tYmJxEERDMpQJ141IysboOLDmGZQHHOCpp9weUXn+RR5c0PEECgYBBu2QbAe7xwcfWMfdR2HksM+GW+BrWqxXzVLF2b/7wE22+2keqFqGTz4lxzAUxiWhgArnAVkaCUPMVg5bOneAWZBx7LkKaYZcxvWpZmxj3EYwVL0qz39ZAHfhlPSJjTqIu54C3gTfoiNcAwlDXCmhALS5ma42Y+ooRSJlgSejdRA==';
- $aop->format = "json";
- $aop->charset = "UTF-8";
- $aop->signType = "RSA2";
- $aop->alipayrsaPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3r5VhP+/UKTRihLbmZlCNDFEa/dR/7Ldv327zTwrFgLC6TXRNGvSd8NBe2jJ+CjPf0f9tAgVL/ZdhqwLqA16n2Ee/dow4hYQ5K8AUjSO8YSFFuPwGO5qqAWQHIgVfj3aR7PslVdOVxD/LPrRM8XEuBHtUkBUcPQVb0bkLAVcEpJyQIe2n0tUr7+32PaYqtA/XNRk6nGRLDit81xAARmh9Ulk34kP4NjCx8Vhd/BmSAnSlCvQQrdoT9MN2MQOOoxVK77jQDakG9LbVaaauFbd6mV0xNPRYv8uhsQsYq/DC54nOfAUsLGD0dy3lajDgWj0l9qGzQ/6olhkviPh7xv+7QIDAQAB';
- $request = new \aop\AlipayTradeAppPayRequest();
- $request->setNotifyUrl(self::ali_notifyurl);
- $bizcontent = $this->getParam($pay_sn, $fee, $order_sn, $subject);
- $request->setBizContent(json_encode($bizcontent));
- $response = $aop->sdkExecute($request);
- return ["data" => $response];
- }
- private function getParam($pay_sn, $fee, $order_sn, $subject)
- {
- $ret['out_trade_no'] = $pay_sn; // 商户网站唯一订单号
- $ret['subject'] = $subject; // 商品名称
- $ret['body'] = base64_encode("order_sn={$order_sn}"); // 商品详情
- $total_fee = $fee / 100;
- $ret['total_amount'] = "{$total_fee}"; // 商品金额
- $ret['timeout_express'] = '30m'; // 设置未付款交易的超时时间 30min
- $ret['product_code'] = 'QUICK_MSECURITY_PAY'; // 固定的
- return $ret;
- }
- public function on_notify($post)
- {
- }
- public function verify($input)
- {
- $aop = new \aop\AopClient;
- $aop->alipayrsaPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3r5VhP+/UKTRihLbmZlCNDFEa/dR/7Ldv327zTwrFgLC6TXRNGvSd8NBe2jJ+CjPf0f9tAgVL/ZdhqwLqA16n2Ee/dow4hYQ5K8AUjSO8YSFFuPwGO5qqAWQHIgVfj3aR7PslVdOVxD/LPrRM8XEuBHtUkBUcPQVb0bkLAVcEpJyQIe2n0tUr7+32PaYqtA/XNRk6nGRLDit81xAARmh9Ulk34kP4NjCx8Vhd/BmSAnSlCvQQrdoT9MN2MQOOoxVK77jQDakG9LbVaaauFbd6mV0xNPRYv8uhsQsYq/DC54nOfAUsLGD0dy3lajDgWj0l9qGzQ/6olhkviPh7xv+7QIDAQAB';
- return $aop->rsaCheckV1($input,null,'RSA2');
- }
- }
|