hash_call('GetExpressCheckoutDetails', $nvpStr); $detailArray = $resArray; $ack = strtoupper($resArray["ACK"]); if ($ack == 'SUCCESS' || $ack == 'SUCCESSWITHWARNING') { $TotalAmount = $resArray['AMT'] + $resArray['SHIPDISCAMT']; $token = urlencode($_REQUEST['token']); $paymentAmount = urlencode($TotalAmount); $paymentType = urlencode($_REQUEST['paymentType']); $currCodeType = urlencode($_REQUEST['currencyCodeType']); $payerID = urlencode($_REQUEST['PayerID']); $serverName = urlencode($_SERVER ['SERVER_NAME']); $notifyUrl = urlencode($paypal_config['NOTIFY_URL']); $nvpStr = '&TOKEN=' . $token . '&PAYERID=' . $payerID . '&PAYMENTACTION=' . $paymentType . '&AMT=' . $paymentAmount . '&CURRENCYCODE=' . $currCodeType . '&NOTIFYURL=' . $notifyUrl . '&IPADDRESS=' . $serverName; //DO Pay $paypalService = new PaypalService($paypal_config); $resArray = $paypalService->hash_call('DoExpressCheckoutPayment', $nvpStr); $ack = strtoupper($resArray["ACK"]); //Redirecting to APIError.php to display errors. //10415是已经支付成功了 if ($ack != 'SUCCESS' && $ack != 'SUCCESSWITHWARNING' && $resArray['L_ERRORCODE0'] !== '10415') { //支付失败 $INFO = 'PAY_FAILED'; } else { //支付成功 $resArray = array_merge($resArray, $detailArray); /////////////////////////////////支付成功//////////////////////////////////// $arr_field = array( 'INVNUM', 'TRANSACTIONID', 'AMT', 'EMAIL', 'PAYERID', 'TIMESTAMP' ); $arr_rq = ws_alipay_no_empty($arr_field, $resArray); //规范传入参数 $para_ret = array(); //支付平台别名 $para_ret['plat_name'] = 'PAYPAL'; //交易状态 $para_ret['status'] = 1; //商家内部订单号 $para_ret['out_ordno'] = $arr_rq['INVNUM']; //支付平台订单号 $para_ret['plat_ordno'] = $arr_rq['TRANSACTIONID']; //交易总额 $para_ret['total_fee'] = $arr_rq['AMT']; //客户邮箱账号 $para_ret['buyer_email'] = $arr_rq['EMAIL']; //客户数字账号 $para_ret['buyer_id'] = $arr_rq['PAYERID']; //支付时间 $para_ret['pay_time'] = date('Y-m-d H:i:s', strtotime($arr_rq['TIMESTAMP'])); //处理返回参数 require_once(WS_ALIPAY_INC . 'cls.return.php'); $ins_ret = new wsAlipayReturn($para_ret); $INFO = $ins_ret->returnProcess(); } ///////////////////////////////////////////////////////////////////////////////////// } else { //验证失败 $INFO = 'VERIFY_FAILED'; } isset($para_ret['out_ordno']) || $para_ret['out_ordno'] = ''; echo ws_alipay_show_tip($INFO, $para_ret['out_ordno']);