本文整理汇总了PHP中HttpClient::processHTTP方法的典型用法代码示例。如果您正苦于以下问题:PHP HttpClient::processHTTP方法的具体用法?PHP HttpClient::processHTTP怎么用?PHP HttpClient::processHTTP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpClient
的用法示例。
在下文中一共展示了HttpClient::processHTTP方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: die
function successful_request_std($posted)
{
global $woocommerce, $inicis_payment;
if (!file_exists($inicis_payment->plugin_path() . "/lib/inistd/INIStdPayUtil.php")) {
$this->inicis_print_log(__('에러 : INIStdPayUtil.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment'), 'INIStd');
wc_add_notice(__('에러 : INIStdPayUtil.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment'), 'error');
die('<span style="color:red;font-weight:bold;">' . __('에러 : INIStdPayUtil.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment') . '</span>');
}
if (!file_exists($inicis_payment->plugin_path() . "/lib/inistd/HttpClient.php")) {
$this->inicis_print_log(__('에러 : HttpClient.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment'), 'INIStd');
wc_add_notice(__('에러 : HttpClient.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment'), 'error');
die('<span style="color:red;font-weight:bold;">' . __('에러 : HttpClient.php 파일이 없습니다. 사이트 관리자에게 문의하여 주십시오.', 'inicis_payment') . '</span>');
}
require_once $inicis_payment->plugin_path() . '/lib/inistd/INIStdPayUtil.php';
require_once $inicis_payment->plugin_path() . '/lib/inistd/HttpClient.php';
$util = new INIStdPayUtil();
$this->inicis_print_log(print_r($_REQUEST, true), 'INIStd');
if (isset($_REQUEST['resultCode'])) {
switch ($_REQUEST['resultCode']) {
case "V016":
$this->inicis_print_log(__('Signkey 가 정확하지 않습니다. 관리자에게 문의하여 주세요. (invalid signkey detected)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('Signkey 가 정확하지 않습니다. 관리자에게 문의하여 주세요. (invalid signkey detected)', 'inicis_payment'), 'error');
return;
break;
case "V013":
$this->inicis_print_log(__('존재하지 않는 상점아이디 입니다. 관리자에게 문의하여 주세요. (invalid mid detected)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('존재하지 않는 상점아이디 입니다. 관리자에게 문의하여 주세요. (invalid mid detected)', 'inicis_payment'), 'error');
return;
break;
}
}
if (!isset($_REQUEST['orderNumber'])) {
$this->inicis_print_log(__('유효하지않은 주문입니다. 주문번호가 없습니다. (invalid notification)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('유효하지않은 주문입니다. 주문번호가 없습니다. (invalid notification)', 'inicis_payment'), 'error');
return;
}
if (!isset($_REQUEST['merchantData'])) {
$this->inicis_print_log(__('유효하지않은 주문입니다. 해시 데이터가 없습니다. (invalid notification)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('유효하지않은 주문입니다. 해시 데이터가 없습니다. (invalid notification)', 'inicis_payment'), 'error');
return;
}
$merchantData = $_REQUEST["merchantData"];
$notification = $this->decrypt_notification($merchantData);
if (empty($notification)) {
$this->inicis_print_log(__('유효하지않은 주문입니다.(01xf1)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('유효하지않은 주문입니다.(01xf1)', 'inicis_payment'), 'error');
return;
}
$txnid = $notification->txnid;
$hash = $notification->hash;
if (empty($txnid)) {
$this->inicis_print_log(__('유효하지않은 주문입니다.(01xf2)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('유효하지않은 주문입니다.(01xf2)', 'inicis_payment'), 'error');
return;
}
$userid = get_current_user_id();
$orderid = explode('_', $txnid);
$orderid = (int) $orderid[0];
$order = new WC_Order($orderid);
try {
if (strcmp("0000", $_REQUEST["resultCode"]) == 0) {
//성공시 이니시스로 결제 성공 전달
$mid = $_REQUEST["mid"];
$signKey = $this->settings['signkey'];
$timestamp = $util->getTimestamp();
$charset = "UTF-8";
$format = "JSON";
$authToken = $_REQUEST["authToken"];
$authUrl = $_REQUEST["authUrl"];
$netCancel = $_REQUEST["netCancel"];
$ackUrl = $_REQUEST["checkAckUrl"];
$signParam["authToken"] = $authToken;
// 필수
$signParam["timestamp"] = $timestamp;
// 필수
$signature = $util->makeSignature($signParam);
$authMap["mid"] = $mid;
// 필수
$authMap["authToken"] = $authToken;
// 필수
$authMap["signature"] = $signature;
// 필수
$authMap["timestamp"] = $timestamp;
// 필수
$authMap["charset"] = $charset;
$authMap["format"] = $format;
try {
$httpUtil = new HttpClient();
$authResultString = "";
if ($httpUtil->processHTTP($authUrl, $authMap)) {
$authResultString = $httpUtil->body;
} else {
$this->inicis_print_log(__('거래 서버와 통신 실패(02xf1)', 'inicis_payment'), 'INIStd');
wc_add_notice(__('거래 서버와 통신 실패(02xf1)', 'inicis_payment') . ', Error : ' . $httpUtil->errormsg, 'error');
$order->add_order_note(sprintf(__('<font color="red">거래 서버와 통신 실패(02xf1)</font>', 'inicis_payment')));
return;
}
$resultMap = json_decode($authResultString, true);
if (strcmp("0000", $resultMap["resultCode"]) == 0) {
//우커머스 내부 결제 처리 로직 시작
//.........这里部分代码省略.........
示例2: procInipaystandardDoIt
/**
*@brief 결제 처리
**/
function procInipaystandardDoIt()
{
if (!$_SESSION['inipaystandard']['transaction_srl']) {
return new Object(-1, 'msg_invalid_request');
}
$vars = Context::getRequestVars();
$oEpayController = getController('epay');
//결제 실패시
if (strcmp("0000", $vars->resultCode) !== 0) {
/*
$payArgs = new Object(-1, $resultMap["resultMsg"]);
$payArgs->add('transaction_srl', $_SESSION['inipaystandard']['transaction_srl']);
$payArgs->add('state', '3');
$payArgs->add('result_code', $vars->resultCode);
$payArgs->add('result_message', $vars->resultMsg);
$output = $oEpayController->afterPayment($payArgs);
if(!$output->toBool()) return $output;
*/
return new Object(-1, '결제가 취소되었습니다.');
/*
$return_url = substr(Context::getRequestUri() , 0, -1) . $_SESSION['inipaystandard']['error_return_url'];
unset($_SESSION['inipaystandard']);
header('location:' . $return_url);
*/
} else {
if (!$vars->authUrl || !$vars->authToken) {
return new Object(-1, 'msg_invalid_request');
}
}
$vars->transaction_srl = $_SESSION['inipaystandard']['transaction_srl'];
$output = $oEpayController->beforePayment($vars);
if (!$output->toBool()) {
return $output;
}
require_once 'libs/INIStdPayUtil.php';
require_once 'libs/HttpClient.php';
$util = new INIStdPayUtil();
$httpUtil = new HttpClient();
$timestamp = $util->getTimestamp();
$signParam = array();
$signParam["authToken"] = $vars->authToken;
$signParam["timestamp"] = $timestamp;
$signature = $util->makeSignature($signParam);
$authMap = array();
$authMap["mid"] = $this->module_info->inipay_mid;
$authMap["authToken"] = $vars->authToken;
$authMap["signature"] = $signature;
$authMap["timestamp"] = $timestamp;
$authMap["charset"] = 'UTF-8';
$authMap["format"] = 'JSON';
$authMap["price"] = $_SESSION['inipaystandard']['price'];
//결제 인증
$authResultString = '';
if ($httpUtil->processHTTP($vars->authUrl, $authMap)) {
$authResultString = $httpUtil->body;
} else {
echo "Http Connect Error\n";
echo $httpUtil->errormsg;
throw new Exception("Http Connect Error");
}
//인증 결과
$resultMap = json_decode($authResultString, true);
//성공
if (strcmp("0000", $resultMap["resultCode"]) == 0) {
$payArgs = new Object(0, $resultMap["resultMsg"]);
//가상계좌
if ($this->getPaymethod($resultMap["payMethod"]) == 'VA') {
$payArgs->add('state', '1');
} else {
$payArgs->add('state', '2');
}
} else {
$payArgs = new Object(-1, $resultMap["resultMsg"]);
$payArgs->add('state', '3');
}
$payArgs->add('transaction_srl', $_SESSION['inipaystandard']['transaction_srl']);
$payArgs->add('payment_method', $this->getPaymethod($resultMap["payMethod"]));
$payArgs->add('payment_amount', $resultMap["TotPrice"]);
$payArgs->add('result_code', $resultMap["resultCode"]);
$payArgs->add('result_message', $resultMap["resultMsg"]);
$payArgs->add('pg_tid', $resultMap["tid"]);
//가상계좌
if ($this->getPaymethod($resultMap["payMethod"]) == 'VA') {
$payArgs->add('vact_num', $resultMap["VACT_Num"]);
$payArgs->add('vact_bankname', $this->getBankName($resultMap["VACT_BankCode"]));
$payArgs->add('vact_bankcode', $resultMap["VACT_BankCode"]);
$payArgs->add('vact_name', $resultMap["VACT_Name"]);
$payArgs->add('vact_inputname', $resultMap["VACT_InputName"]);
$payArgs->add('vact_date', $resultMap["VACT_Date"]);
$payArgs->add('vact_time', $resultMap["VACT_Time"]);
}
$output = $oEpayController->afterPayment($payArgs);
if (!$output->toBool()) {
//DB 에러시 결제 취소
if (!$httpUtil->processHTTP($vars->netCancel, $authMap)) {
echo "Http Connect Error\n";
echo $httpUtil->errormsg;
//.........这里部分代码省略.........
示例3: HttpClient
$authMap["charset"] = $charset;
// default=UTF-8
$authMap["format"] = $format;
// default=XML
$authMap["price"] = $price;
// 필수 (가격위변조체크기능)
//if(null != notiUrl && notiUrl.length() > 0){
// authMap.put("notiUrl" ,notiUrl);
//}
try {
$httpUtil = new HttpClient();
//#####################
// 4.API 통신 시작
//#####################
$authResultString = "";
if ($httpUtil->processHTTP($authUrl, $authMap)) {
$authResultString = $httpUtil->body;
} else {
echo "Http Connect Error\n";
echo $httpUtil->errormsg;
throw new Exception("Http Connect Error");
}
//############################################################
//5.API 통신결과 처리(***가맹점 개발수정***)
//############################################################
echo "## 승인 API 결과 ##";
$resultMap = json_decode($authResultString, true);
if (strcmp("0000", $resultMap["resultCode"]) == 0) {
/* * ***************************************************************************
* 여기에 가맹점 내부 DB에 결제 결과를 반영하는 관련 프로그램 코드를 구현한다.