mch_no_trade = "888117500004672"; //平台公钥 $this->platPublicKey = "-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCS4CHpmFRfFJR2cMjx2Ii7WBck6W3QXjr8ubrrlKkGVwMCpZT+Dg85jhsCqoTdVYJlbwfqpXNs5+I4KJ1K4cTz/9DgAjQW2oJF7owsGqPVbsz5APh5mWtlil71UNLwLWhlmmS2NcdcI/PdCH8/IY11q55Ymt+R55cst4ZSl62cTQIDAQAB -----END PUBLIC KEY-----"; //商户私钥 $this->mchPrivateKey = "-----BEGIN RSA PRIVATE KEY----- MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKJ2zCsD/JMiFRRwGJvpf80NeWmduNGZ/sfU3mJRi00CYE5d9KbMpmq/A5gEurNiVkgFCOs+vF3F+qd+tla2+RuX/izTQlxlgHUh0W48BYm8FQYgL6YsJQj6sM8VeTSW7ynUAQdqU0kGe32QtFP829uggHhxj20yUsFM8nzDdX/rAgMBAAECgYANU7Fr1efiKemQw6FBKOZS68gJ4eZHS1qbCds0NXw31PoRc6OeCyublg+1aK3oCSkKv1777SmGh7cIBlzuwBOvDlMBTllA1xOrt0A//QLfWz0ELlEoGKJQZLxluYINbcoxjH7FvYxMlWWhYIJWr1JiK+OKV7A6NND9yxN9yzrIAQJBAM3g5ibq3xaUjdcFu2UXCXpm/DViNcwVymdbujzjRd1DLNhvvOMSZ3utgi6UJSiA3ryMRbBGITFUFXlaqXB2jucCQQDKBCab1sQmU2O5dshNpw4PkR0v4bR6/g16V6GEZ+NN4Vpg4rVexn5p7/Hyte+DKWSXfc5pKff0RWdxPwWruvpdAkEAhdLyx8lUSfE2YdawAP4Agzf+KRU1svtXHehaHsn8196af/Xh6hhEe/hE7tINdU6PejAT/IkZel8VtlRgX2IxcQJADnQnkwTVuexDeVSPVkb6kZCPZwqeECK3Mias7r1EHSFfhwkRcvt+tfOt+vCbd2XxxYkByLJxBDAnC4o3zKavHQJBAJIdMjx5OAxAswBFxL7smSDGbxfoeTAGrSlbyKpDXaw8qCxi3yMPHaljBr4yP/hqaA+4oSTZ84K4PqO7x3CJ0eA= -----END RSA PRIVATE KEY-----"; } //短信 public function sms(){ $secKey = 'FbNzMFZMxmTxICn8'; $data = []; // $data["mch_no_trade"] = $this->mch_no_trade; $data["mch_order_no"] = get_order_sn(); $data["order_amount"] = "0.01"; $data["mch_req_time"] = date('Y-m-d H:i:s', time()); $data["order_desc"] = "测试sdk-php7"; $data["id_type"] = "1"; $data["callback_param"] =null; $data["payer_name"] = AESUtil::encryptECB("宋星伟", $secKey);//加密 $data["id_no"] = AESUtil::encryptECB("371324199210037710", $secKey);//加密 $data["bank_card_no"] = AESUtil::encryptECB("6217682503488661", $secKey);//加密 $data["mobile_no"] = AESUtil::encryptECB("15801075991", $secKey);//加密 dump($data); $request = new Request(); $request->setMethod("fastPay.agreement.signSms"); $request->setVersion("1.0"); $request->setMchNo($this->mch_no_trade); $request->setSignType("2"); $request->setRandStr(RandomUtil::randomStr(32)); $request->setData($data); $request->setSecKey($secKey);//rsa有效 $secretKey = new SecretKey(); $secretKey->setReqSignKey($this->mchPrivateKey);//签名:使用商户私钥 $secretKey->setRespVerifyKey($this->platPublicKey);//验签:使用平台公钥 $secretKey->setSecKeyEncryptKey($this->platPublicKey);//sec_key加密:使用平台公钥 $secretKey->setSecKeyDecryptKey($this->mchPrivateKey);//sec_key解密:使用商户私钥 $url = "https://api.joinpay.com/fastpay"; try { $response = RequestUtil::doRequest($url, $request, $secretKey); dump($response);die; } catch (Exception $e) { print_r($e); } } //签约 public function signing(){ $secKey = 'FbNzMFZMxmTxICn8'; $data = []; $data["mch_no_trade"] = "888117500004672"; $data["mch_order_no"] = "202206251510324416840933"; $data["sms_code"] = "821991"; $request = new Request(); $request->setMethod("fastPay.agreement.smsSign"); $request->setVersion("1.0"); $request->setMchNo($this->mch_no_trade); $request->setSignType("2"); $request->setRandStr(RandomUtil::randomStr(32)); $request->setData($data); $request->setSecKey($secKey);//rsa有效 $secretKey = new SecretKey(); $secretKey->setReqSignKey($this->mchPrivateKey);//签名:使用商户私钥 $secretKey->setRespVerifyKey($this->platPublicKey);//验签:使用平台公钥 $secretKey->setSecKeyEncryptKey($this->platPublicKey);//sec_key加密:使用平台公钥 $secretKey->setSecKeyDecryptKey($this->mchPrivateKey);//sec_key解密:使用商户私钥 $url = "https://api.joinpay.com/fastpay"; try { $response = RequestUtil::doRequest($url, $request, $secretKey); dump($response);die; } catch (Exception $e) { print_r($e); } } //支付 public function kuaijiePay(){ //$secKey = 'FbNzMFZMxmTxICn8'; $secKey = RandomUtil::randomStr(16); $data = []; // $data["mch_order_no"] = '202206251446464089001232'; $data["mch_order_no"] = get_order_sn(); $data["order_amount"] = "0.02"; $data["mch_req_time"] = date('Y-m-d H:i:s', time()); $data["order_desc"] = "测试sdk-php7"; $data["callback_url"] = 'https://'.$_SERVER['SERVER_NAME'].'/index.php/api/Pay/kuaijiePayNotify';//回调地址 $data["callback_param"] =null; $data["bank_card_no"] = AESUtil::encryptECB("6217682503488661", $secKey);//加密 dump($data); $request = new Request(); $request->setMethod("fastPay.agreement.pay"); $request->setVersion("1.0"); $request->setMchNo($this->mch_no_trade); $request->setSignType("2"); $request->setRandStr(RandomUtil::randomStr(32)); $request->setData($data); $request->setSecKey($secKey);//rsa有效 $secretKey = new SecretKey(); $secretKey->setReqSignKey($this->mchPrivateKey);//签名:使用商户私钥 $secretKey->setRespVerifyKey($this->platPublicKey);//验签:使用平台公钥 $secretKey->setSecKeyEncryptKey($this->platPublicKey);//sec_key加密:使用平台公钥 $secretKey->setSecKeyDecryptKey($this->mchPrivateKey);//sec_key解密:使用商户私钥 $url = "https://api.joinpay.com/fastpay"; try { $response = RequestUtil::doRequest($url, $request, $secretKey); dump($response); } catch (Exception $e) { print_r($e); } } }