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());
 }
Example #2
0
<?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/>";
Example #3
0
<?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/>";
Example #4
0
 /**
  * @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());
     }
 }