public function testSettings() { $refundRequest = new RefundRequest($this->getRefundRequestModel()); $this->assertEquals(PayURequestInterface::METHOD_POST, $refundRequest->getMethod()); $this->assertEquals(sprintf('orders/%s/refund', self::ORDER_ID), $refundRequest->getPath()); $this->assertInstanceOf('\\Team3\\PayU\\Communication\\Request\\Model\\RefundRequestModel', $refundRequest->getDataObject()); }
<?php include dirname(__FILE__) . "/../common/header.php"; require dirname(__FILE__) . "/../../payzippy-sdk/RefundRequest.php"; try { $pz_refund_request = new RefundRequest(); $pz_refund_request->set_merchant_key_id($_POST["merchant_key_id"])->set_payzippy_sale_transaction_id($_POST["payzippy_sale_transaction_id"])->set_merchant_transaction_id($_POST["merchant_transaction_id"])->set_hash_method($_POST["hash_method"])->set_refund_amount($_POST["refund_amount"])->set_refund_reason($_POST["refund_reason"])->set_refunded_by($_POST["refunded_by"])->set_udf1($_POST["udf1"])->set_udf2($_POST["udf2"])->set_udf3($_POST["udf3"])->set_udf4($_POST["udf4"])->set_udf5($_POST["udf5"]); $pz_refund_response = $pz_refund_request->refund(); $hash_match = $pz_refund_response->validate(); if ($hash_match) { echo "<p class='text-success'><b>Hash matches. The response is valid.</b></p>"; } else { echo "<p class='text-error'><b>Hash mismatch. Response is invalid</b></p>"; } echo "Status Code: {$pz_refund_response->get_status_code()}<br/>"; echo "Status Message: {$pz_refund_response->get_status_message()}<br/>"; echo "Error Code: {$pz_refund_response->get_error_code()}<br/>"; echo "Error Message: {$pz_refund_response->get_error_message()}<br/>"; echo "Merchant ID: {$pz_refund_response->get_merchant_id()}<br/>"; echo "Merchant Key ID: {$pz_refund_response->get_merchant_key_id()}<br/>"; echo "Hash Method: {$pz_refund_response->get_hash_method()}<br/>"; echo "Hash: {$pz_refund_response->get_hash()}<br/>"; echo "<br/>"; echo "<h4>Refund Response</h4>"; $response = $pz_refund_response->get_transaction_response(); echo "Merchant Transaction ID: {$response->get_merchant_transaction_id()}<br/>"; echo "Payzippy Transaction ID: {$response->get_payzippy_transaction_id()}<br/>"; echo "Refund Amount: {$response->get_refund_amount()}<br/>"; echo "Refund Status: {$response->get_refund_status()}<br/>"; echo "Refund Response Code: {$response->get_refund_response_code()}<br/>"; echo "Refund Response Message: {$response->get_refund_response_message()}<br/>";
<?php require_once '../ebusclient/RefundRequest.php'; //1、生成退款请求对象 $tRequest = new RefundRequest(); $tRequest->request["OrderDate"] = $_POST['OrderDate']; //订单日期(必要信息) $tRequest->request["OrderTime"] = $_POST['OrderTime']; //订单时间(必要信息) $tRequest->request["MerRefundAccountNo"] = $_POST['MerRefundAccountNo']; //商户退款账号 $tRequest->request["MerRefundAccountName"] = $_POST['MerRefundAccountName']; //商户退款名 $tRequest->request["OrderNo"] = $_POST['OrderNo']; //原交易编号(必要信息) $tRequest->request["NewOrderNo"] = $_POST['NewOrderNo']; //交易编号(必要信息) $tRequest->request["CurrencyCode"] = $_POST['CurrencyCode']; //交易币种(必要信息) $tRequest->request["TrxAmount"] = $_POST['TrxAmount']; //退货金额 (必要信息) $tRequest->request["MerchantRemarks"] = $_POST['MerchantRemarks']; //附言 //2、传送退款请求并取得退货结果 $tResponse = $tRequest->postRequest(); //3、支付请求提交成功,返回结果信息 if ($tResponse->isSuccess()) { print "<br>Success!!!" . "</br>"; print "ReturnCode = [" . $tResponse->getReturnCode() . "]</br>"; print "ReturnMsg = [" . $tResponse->getErrorMessage() . "]</br>"; print "OrderNo = [" . $tResponse->GetValue("OrderNo") . "]<br/>"; print "NewOrderNo = [" . $tResponse->GetValue("NewOrderNo") . "]<br/>";
/** * @param $id_order * @param $transaction_details */ public function postProcessRefund($id_order, $transaction_details) { include_once _PS_MODULE_DIR_ . 'alipay/api/loader.php'; $service = Configuration::get('ALIPAY_SERVICE_REFUND'); $credentials = AlipayTools::getCredentials($service, false); $gmt_date = date('Ymdhis'); $params = array(); $params['amount'] = Tools::getValue('refund_amount'); $params['refund_reason'] = Tools::getValue('refund_reason'); $params['out_trade_no'] = $transaction_details['out_trade_no']; $params['refund_no'] = md5(date('Ymdhis')); $params['id_order'] = $id_order; $params['currency'] = $transaction_details['currency']; $alipayapi = new AlipayApi($credentials); $alipayapi->setCharset('UTF-8'); $refund_request = new RefundRequest(); $refund_request->setOutReturnNo($params['refund_no']); $refund_request->setOutTradeNo($params['out_trade_no']); $refund_request->setReturnAmount($params['amount']); $refund_request->setCurrency($params['currency']); $refund_request->setGmtReturn($gmt_date); $refund_request->setReason($params['refund_reason']); $alipayapi->prepareRequest($refund_request); $url = $alipayapi->createUrl(); $xml = $alipayapi->getResponse($url); $refund_response = new RefundResponse(); if ($refund_response->processResponse($xml, $params) < 0) { $this->context->controller->errors = array_merge($this->context->controller->errors, $refund_response->getErrors()); } }