本文整理汇总了PHP中Am_HttpRequest::addPostParameter方法的典型用法代码示例。如果您正苦于以下问题:PHP Am_HttpRequest::addPostParameter方法的具体用法?PHP Am_HttpRequest::addPostParameter怎么用?PHP Am_HttpRequest::addPostParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Am_HttpRequest
的用法示例。
在下文中一共展示了Am_HttpRequest::addPostParameter方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _sendRequest
/** @return HTTP_Request2_Response */
public function _sendRequest(Am_HttpRequest $request)
{
$request->addPostParameter('x_login', $this->getConfig('login'));
$request->addPostParameter('x_tran_key', $this->getConfig('tkey'));
$request->addPostParameter('x_Delim_Data', "True");
$request->addPostParameter('x_Delim_Char', "|");
$request->addPostParameter('x_Version', "3.1");
if ($this->getConfig('testing')) {
$request->addPostParameter("x_test_request", "TRUE");
$request->setUrl(self::SANDBOX_URL);
} else {
$request->setUrl(self::LIVE_URL);
}
$request->setMethod(Am_HttpRequest::METHOD_POST);
return $request;
}
示例2: _process
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$user = $invoice->getUser();
if (!$user->data()->get(self::DATA_KEY)) {
//create user
$req = new Am_HttpRequest($this->url(), Am_HttpRequest::METHOD_POST);
$req->addPostParameter(array('fn' => 'eWallet_RegisterUser', 'MerchantGUID' => $this->getConfig('MerchantGUID'), 'MerchantPassword' => $this->getConfig('MerchantPassword'), 'UserName' => $user->login, 'FirstName' => $user->name_f, 'LastName' => $user->name_l, 'EmailAddress' => $user->email, 'DateOfBirth' => '1/1/1900'));
$this->logRequest($req);
$resp = $req->send();
$this->logResponse($resp);
if ($resp->getStatus() != 200) {
$result->setFailed('Incorrect HTTP response status: ' . $resp->getStatus());
return;
}
parse_str($resp->getBody(), $tmp);
parse_str($tmp['response'], $params);
if ($params['m_Code'] != 'NO_ERROR') {
$result->setFailed($params['m_Text']);
return;
}
$user->data()->set(self::DATA_KEY, $params['TransactionRefID'])->update();
}
//create invoice
$req = new Am_HttpRequest($this->url(), Am_HttpRequest::METHOD_POST);
$arrItems = array('Amount' => $invoice->first_total, 'CurrencyCode' => $invoice->currency, 'ItemDescription' => $invoice->getLineDescription(), 'MerchantReferenceID' => $invoice->public_id, 'UserReturnURL' => $this->getReturnUrl(), 'MustComplete' => 'false', 'IsSubscription' => 'false');
$req->addPostParameter(array('fn' => 'eWallet_AddCheckoutItems', 'MerchantGUID' => $this->getConfig('MerchantGUID'), 'MerchantPassword' => $this->getConfig('MerchantPassword'), 'UserName' => $user->login, 'arrItems' => sprintf('[%s]', http_build_query($arrItems)), 'AutoChargeAccount' => 'false'));
$this->logRequest($req);
$resp = $req->send();
$this->logResponse($resp);
if ($resp->getStatus() != 200) {
$result->setFailed('Incorrect HTTP response status: ' . $resp->getStatus());
return;
}
parse_str($resp->getBody(), $tmp);
parse_str($tmp['response'], $params);
if ($params['m_Code'] != 'NO_ERROR') {
$result->setFailed($params['m_Text']);
return;
}
//login and redirect
$req = new Am_HttpRequest($this->url(), Am_HttpRequest::METHOD_POST);
$req->addPostParameter(array('fn' => 'eWallet_RequestUserAutoLogin', 'MerchantGUID' => $this->getConfig('MerchantGUID'), 'MerchantPassword' => $this->getConfig('MerchantPassword'), 'UserName' => $user->login));
$this->logRequest($req);
$resp = $req->send();
$this->logResponse($resp);
if ($resp->getStatus() != 200) {
$result->setFailed('Incorrect HTTP response status: ' . $resp->getStatus());
return;
}
parse_str($resp->getBody(), $tmp);
parse_str($tmp['responset'], $params);
if ($params['m_Code'] != 'NO_ERROR') {
$result->setFailed($params['m_Text']);
return;
}
$a = new Am_Paysystem_Action_Redirect($this->urlLogin());
$a->secKey = $params['m_ProcessorTransactionRefNumber'];
$result->setAction($a);
}
示例3: validateSource
public function validateSource()
{
$request = new Am_HttpRequest($this->getPlugin()->getConfig('testing') ? Am_Paysystem_Cashenvoy::SANDBOX_STATUS_URL : Am_Paysystem_Cashenvoy::LIVE_STATUS_URL, Am_HttpRequest::METHOD_POST);
$request->addPostParameter(array('mertid' => $this->getPlugin()->getConfig('merchant_id'), 'transref' => $this->request->getFiltered("ce_transref"), 'respformat' => 'json'));
$response = $request->send();
$this->vars = json_decode($response->getBody(), true);
$this->log->add($this->vars);
return true;
}
示例4: apiRequest
public function apiRequest($method, $vars)
{
$req = new Am_HttpRequest(self::API_URL . "/" . $method . ".html", Am_HttpRequest::METHOD_POST);
$req->addPostParameter('merchantid', $this->getConfig('merchant_id'));
$req->addPostParameter('signature', $this->getConfig('api_signature'));
foreach ($vars as $k => $v) {
$req->addPostParameter($k, $v);
}
$req->send();
$resp = $req->getBody();
if (!$resp) {
throw new Am_Exception_InputError('PWC: got empty response from API server');
}
$xml = simplexml_load_string($resp);
if ($xml->error) {
throw new Am_Exception_InputError('PWC: Got error from API: ' . $xml->error->errortext);
}
return $xml;
}
示例5: _doBill
public function _doBill(Invoice $invoice, $doFirst, CcRecord $cc, Am_Paysystem_Result $result)
{
if (!($trxid = $invoice->getUser()->data()->get(self::INVOICE_TRANSACTION_ID))) {
throw new Am_Exception_Paysystem("Stored targetpay-wap trxid not found");
}
$request = new Am_HttpRequest(self::LIVE_URL_FOLLOWUP, Am_HttpRequest::METHOD_POST);
$request->addPostParameter(array('trxid' => $trxid, 'service' => $this->getConfig('service'), 'amount' => $invoice->second_total * 100, 'rtlo' => $this->getConfig('rtlo'), 'description' => $invoice->getLineDescription()));
$tr = new Am_paysystem_Transaction_TargetpayWap_Charge($this, $invoice, $request, $doFirst);
$tr->run($result);
}
示例6: sendRequest
function sendRequest($data, $method)
{
$request = new Am_HttpRequest('http://api.moon-ray.com/cdata.php', Am_HttpRequest::METHOD_POST);
$request->addPostParameter(array('appid' => $this->getConfig('app_id'), 'key' => $this->getConfig('app_key'), 'return_id' => 1, 'reqType' => $method, 'data' => $data));
$ret = $request->send();
if ($ret->getStatus() != '200') {
throw new Am_Exception_InternalError("Officeautopilot API Error");
}
$res = $ret->getBody();
if (preg_match("|<error>(.*)</error>|", $res, $r)) {
throw new Am_Exception_InternalError("Officeautopilot API Error - unknown response [" . $r[1] . "]");
}
return $res;
}
示例7: changeSubscription
public function changeSubscription(\User $user, array $addLists, array $deleteLists)
{
if (!empty($addLists)) {
$req = new Am_HttpRequest($this->getConfig('install_url') . '/subscriber/optIn.php', Am_HttpRequest::METHOD_POST);
foreach (array('api_action' => 'add', 'api_key' => $this->getConfig('api_key'), 'api_send_email' => $this->getConfig('api_send_email') ? 'yes' : 'no', 'email' => $user->email, 'double_optin' => $this->getConfig('double_optin', 0), 'lists' => implode(',', $addLists)) as $k => $v) {
$req->addPostParameter($k, $v);
}
$req->send();
}
if (!empty($deleteLists)) {
$req = new Am_HttpRequest($this->getConfig('install_url') . '/subscriber/optOut.php', Am_HttpRequest::METHOD_POST);
foreach (array('api_action' => 'remove', 'api_key' => $this->getConfig('api_key'), 'api_send_email' => $this->getConfig('api_send_email') ? 'yes' : 'no', 'email' => $user->email, 'opt_out_type' => 1, 'lists' => implode(',', $addLists)) as $k => $v) {
$req->addPostParameter($k, $v);
}
$req->send();
}
return true;
}
示例8: _process
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$req = new Am_HttpRequest('https://' . $this->getWsHost() . '/v2/checkout', Am_HttpRequest::METHOD_POST);
$p = array();
$p['email'] = $this->getConfig('merchant');
$p['token'] = $this->getConfig('token');
$p['currency'] = strtoupper($invoice->currency);
$p['reference'] = $invoice->public_id;
$p['receiverEmail'] = $this->getConfig('merchant');
$i = 1;
foreach ($invoice->getItems() as $item) {
$p['itemId' . $i] = $item->item_id;
$p['itemDescription' . $i] = $item->item_title;
$p['itemAmount' . $i] = $item->first_total;
$p['itemQuantity' . $i] = $item->qty;
$i++;
}
$p['senderEmail'] = $invoice->getUser()->email;
$p['senderName'] = $invoice->getUser()->getName();
$p['redirectURL'] = $this->getReturnUrl();
$p['notificationURL'] = $this->getPluginUrl('ipn');
$p['maxUses'] = 1;
$p['maxAge'] = 180;
$req->addPostParameter($p);
$this->logRequest($req);
$res = $req->send();
$this->logResponse($res);
if (!($xml = simplexml_load_string($res->getBody()))) {
throw new Am_Exception('Incorrect XML recieved');
}
if ($xml->getName() == 'errors') {
throw new Am_Exception(sprintf('%s: %s', $xml->errors[0]->code, $xml->errors[0]->message));
}
if ($res->getStatus() != 200) {
throw new Am_Exception_FatalError(sprintf('Incorrect Responce Status From Paysystem [%s]', $res->getStatus()));
}
$code = (string) $xml->code;
$a = new Am_Paysystem_Action_Redirect('https://' . $this->getHost() . '/v2/checkout/payment.html?code=' . $code);
$result->setAction($a);
}
示例9: _process
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$req = new Am_HttpRequest(self::LIVE_URL, Am_HttpRequest::METHOD_POST);
$req->addPostParameter(array('method' => 'create', 'address' => $this->getConfig('address'), 'callback' => $this->getPluginUrl('ipn') . "?secret=" . $invoice->getSecureId('THANKS') . '&invoice_id=' . $invoice->public_id));
$res = $req->send();
$arr = (array) json_decode($res->getBody(), true);
if (empty($arr['input_address'])) {
throw new Am_Exception_InternalError($res->getBody());
}
$req = new Am_HttpRequest(self::CURRENCY_URL . "?currency={$invoice->currency}&value={$invoice->first_total}", Am_HttpRequest::METHOD_GET);
$res = $req->send();
$amount = $res->getBody();
if (doubleval($amount) <= 0) {
throw new Am_Exception_InternalError($amount);
}
$invoice->data()->set(self::BLOCKHAIN_AMOUNT, doubleval($amount))->update();
$a = new Am_Paysystem_Action_HtmlTemplate_Blockchain($this->getDir(), 'confirm.phtml');
$a->amount = doubleval($amount);
$a->input_address = $arr['input_address'];
$a->invoice = $invoice;
$result->setAction($a);
}
示例10: array
function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$user = $invoice->getUser();
$data = array('VERSION' => "0001", 'STAMP' => $invoice->public_id . '-' . $this->getDi()->time, 'AMOUNT' => $invoice->first_total * 100, 'REFERENCE' => $invoice->public_id, 'MESSAGE' => $invoice->getLineDescription(), 'LANGUAGE' => "FI", 'MERCHANT' => $this->getConfig('merchant_id'), 'RETURN' => $this->getPluginUrl('thanks'), 'CANCEL' => $this->getCancelUrl(), 'REJECT' => "", 'DELAYED' => "", 'COUNTRY' => "FIN", 'CURRENCY' => "EUR", 'DEVICE' => "10", 'CONTENT' => "1", 'TYPE' => "0", 'ALGORITHM' => "1", 'DELIVERY_DATE' => date("Ymd"), 'FIRSTNAME' => $user->name_f, 'FAMILYNAME' => $user->name_l, 'ADDRESS' => $user->street . ($user->street2 ? '; ' . $user->street2 : ''), 'POSTCODE' => $user->zip, 'POSTOFFICE' => "");
$data['MAC'] = $this->getMac(self::$coMapOut, $data);
$req = new Am_HttpRequest(self::URL, Am_HttpRequest::METHOD_POST);
$req->addPostParameter($data);
$this->logRequest($data);
$res = $req->send();
if ($res->getStatus() != '200') {
throw new Am_Exception_InternalError(self::LOG_PREFIX_ERROR . "[_process()] - bad status of server response [{$res->getStatus()}]");
}
if (!($body = $res->getBody())) {
throw new Am_Exception_InternalError(self::LOG_PREFIX_ERROR . "[_process()] - server return null");
}
$this->logResponse($body);
if (!($xml = simplexml_load_string($body))) {
throw new Am_Exception_InternalError(self::LOG_PREFIX_ERROR . "[_process()] - server return bad xml");
}
$a = new Am_Paysystem_Action_HtmlTemplate_Checkout($this->getDir(), 'payment-checkout-redirect.phtml');
$a->xml = $xml;
$result->setAction($a);
}
示例11: cancelAction
public function cancelAction(Invoice $invoice, $actionName, Am_Paysystem_Result $result)
{
$this->invoice = $invoice;
list($payment) = $invoice->getPaymentRecords();
$params = array('key' => $this->getConfig('key'), 'ref' => $payment->receipt_id, 'uid' => $payment->user_id, 'type' => 2);
$params['sign'] = $this->calculateSignature($params, $this->getConfig('secret'));
$requst = new Am_HttpRequest(self::URL_TICKET, Am_HttpRequest::METHOD_POST);
$requst->addPostParameter($params);
$log = $this->logRequest($requst);
$responce = $requst->send();
$log->add($responce);
if ($responce->getStatus() != 200) {
$result->setFailed('Incorrect HTTP response status: ' . $responce->getStatus());
return;
}
$res = Am_Controller::decodeJson($responce->getBody());
if ($res['result'] == 1) {
$invoice->setCancelled();
$result->setSuccess();
return;
}
$result->setFailed($res['errors']);
}
示例12: _process
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$encoded = file_get_contents(dirname(__FILE__) . '/resource.cgn');
$decoded = $this->zapakiraj($this->simpleXOR($this->odpakiraj($encoded)));
$temp = tempnam(DATA_DIR, 'bnk');
file_put_contents($temp, $decoded);
$zipFile = zip_open($temp);
while ($zipEntry = zip_read($zipFile)) {
if (zip_entry_name($zipEntry) == $this->getConfig('terminal_id') . '.xml') {
$zip_entry_exist = true;
if (zip_entry_open($zipFile, $zipEntry)) {
$readStream = zip_entry_read($zipEntry);
$data = unpack("N*", $readStream);
for ($i = 1; $i < count($data) + 1; $i++) {
$data1[$i - 1] = $data[$i];
}
$xorData = $this->simpleXOR($data1);
$bin = null;
for ($i = 0; $i < count($xorData); $i++) {
$bin .= pack("N", $xorData[$i]);
}
$decoded = unpack("C*", $bin);
$xmlString = "";
for ($i = 1; $i < count($decoded) + 1; $i++) {
$xmlString .= chr($decoded[$i]);
}
$strData = $xmlString;
zip_entry_close($zipEntry);
}
}
}
zip_close($zipFile);
if (!$zip_entry_exist) {
$this->getDi()->errorLogTable->log("BANKART API ERROR : terminal xml file is not found in cgn file");
throw new Am_Exception_InputError(___('Error happened during payment process. '));
}
//for some reasone xml is broken in bankart cgn file
$strData = preg_replace("/\\<\\/term[a-z]+\$/", '</terminal>', $strData);
$terminal = new SimpleXMLElement($strData);
$port = (string) $terminal->port[0];
$context = (string) $terminal->context[0];
if ($port == "443") {
$url = "https://";
} else {
$url = "http://";
}
$url .= (string) $terminal->webaddress[0];
if (strlen($port) > 0) {
$url .= ":" . $port;
}
if (strlen($context) > 0) {
if ($context[0] != "/") {
$url .= "/";
}
$url .= $context;
if (!$context[strlen($context) - 1] != "/") {
$url .= "/";
}
} else {
$url .= "/";
}
$url .= "servlet/PaymentInitHTTPServlet";
$vars = array('id' => (string) $terminal->id[0], 'password' => (string) $terminal->password[0], 'passwordhash' => (string) $terminal->passwordhash[0], 'action' => 4, 'amt' => $invoice->first_total, 'currency' => $this->currency_codes[$invoice->currency], 'responseURL' => $this->getPluginUrl('ipn'), 'errorURL' => $this->getRootUrl() . "/cancel", 'trackId' => $invoice->public_id, 'udf1' => $invoice->public_id);
$req = new Am_HttpRequest($url, Am_HttpRequest::METHOD_POST);
$req->addPostParameter($vars);
$res = $req->send();
$body = $res->getBody();
if (strpos($body, 'ERROR') > 0) {
$this->getDi()->errorLogTable->log("BANKART API ERROR : {$body}");
throw new Am_Exception_InputError(___('Error happened during payment process. '));
}
list($payment_id, $url) = explode(':', $body, 2);
$invoice->data()->set('bankart_payment_id', $payment_id)->update();
$a = new Am_Paysystem_Action_Redirect($url . '?PaymentID=' . $payment_id);
$result->setAction($a);
}
示例13: cancelAction
function cancelAction(Invoice $invoice, $actionName, Am_Paysystem_Result $result)
{
$request = new Am_HttpRequest(self::CANCEL_URL, Am_HttpRequest::METHOD_POST);
$request->addPostParameter('action', 'Cancel');
$request->addPostParameter('email', $invoice->getEmail());
$request->addPostParameter('mode', 'P');
$request->addPostParameter('transaction', $this->findInitialTransactionNumber($invoice));
$request->addPostParameter('clientaccount', $this->getConfig('account'));
$request->addPostParameter('clientpwd', $this->getConfig('pwd'));
$this->logRequest($request);
$response = $request->send();
$this->logResponse($response);
}
示例14: _process
public function _process(Invoice $invoice, Am_Request $request, Am_Paysystem_Result $result)
{
$this->invoice = $invoice;
$post = array('currency' => $this->invoice->currency, 'company' => $this->getConfig('company'), 'password' => $this->getConfig('password'), 'value' => $this->invoice->first_total, 'name' => $this->invoice->getLineDescription(), 'description' => $this->invoice->getLineDescription(), 'id' => $this->invoice->public_id, 'window' => $this->getConfig('window'), 'marketing' => 0, 'confirmation' => 0, 'callback_url' => $this->getPluginUrl('ipn'), 'success_url' => $this->getReturnUrl(), 'cancel_url' => $this->getCancelUrl());
if ($this->invoice->second_total > 0) {
if ($this->invoice->first_total > 0 && $this->invoice->first_total != $this->invoice->second_total) {
throw new Am_Exception_InternalError('If product has no free trial first price must be the same second price');
}
if ($this->invoice->first_total > 0 && $this->invoice->first_period != $this->invoice->second_period) {
throw new Am_Exception_InternalError('If product has no free trial first period must be the same second period');
}
$post['sub_repeat'] = $this->invoice->rebill_times == IProduct::RECURRING_REBILLS ? 0 : $this->invoice->rebill_times;
$period = $this->parsePeriod($this->invoice->second_period);
$post['sub_period'] = $period['period'];
$post['sub_period_units'] = $period['period_units'];
if (!(double) $this->invoice->first_total) {
$post['value'] = $this->invoice->second_total;
$period = $this->parsePeriod($this->invoice->first_period);
$post['sub_free_period'] = $period['period'];
$post['sub_free_period_units'] = $period['period_units'];
}
}
if ($this->getConfig('debugLog')) {
Am_Di::getInstance()->errorLogTable->log('Payforit. Request[cc]: ' . json_encode($post));
}
$req = new Am_HttpRequest(self::URL, Am_HttpRequest::METHOD_POST);
$req->addPostParameter($post);
$res = $req->send();
if ($res->getStatus() != '200') {
throw new Am_Exception_InternalError("Payforit API Error: bad status of server response [{$res->getStatus()}]");
}
if (!$res->getBody()) {
throw new Am_Exception_InternalError("Payforit API Error: server return null");
}
$this->logResponse($res->getBody());
if ($this->getConfig('debugLog')) {
Am_Di::getInstance()->errorLogTable->log('Payforit. Response[cc]: ' . $res->getBody());
}
$response = explode('|', $res->getBody());
if ($response[0] != 'OK') {
throw new Am_Exception_InternalError("Payforit API Error: {$response[1]}");
}
$this->invoice->data()->set(self::TRANSACTION_ID, $response[1])->update();
if (!$this->getConfig('is_frame')) {
header('Location: ' . $response[2]);
return;
}
$a = new Am_Paysystem_Action_HtmlTemplate_Payforit($this->getDir(), 'payment-payforit-iframe.phtml');
$a->src = $response[2];
$result->setAction($a);
}
示例15: validate
public function validate($id)
{
if (!$id) {
return;
}
//skip validation in case of VAT was not supplied
$plugins = Am_Di::getInstance()->plugins_tax->getAllEnabled();
$me = is_array($plugins) ? $plugins[0]->getConfig('my_id') : "";
if (!$me) {
return $this->___('VAT Settings are incorrect - no Vat Id configured');
}
// check if response is cached
$cacheKey = 'vat_check_' . preg_replace('/[^A-Z0-9a-z_]/', '_', $me) . '_' . preg_replace('/[^A-Z0-9a-z_]/', '_', $id);
if (($ret = Am_Di::getInstance()->cache->load($cacheKey)) !== false) {
return $ret === 1 ? null : $this->___('Invalid VAT Id, please try again');
}
if (!strlen($id)) {
return $this->___('Invalid VAT Id, please try again');
}
$req = new Am_HttpRequest('http://ec.europa.eu/taxation_customs/vies/vatResponse.html', Am_HttpRequest::METHOD_POST);
$req->addPostParameter('action', 'check')->addPostParameter('check', 'Verify')->addPostParameter('memberStateCode', strtoupper(substr($id, 0, 2)))->addPostParameter('number', substr($id, 2))->addPostParameter('requesterMemberStateCode', '')->addPostParameter('traderName', '')->addPostParameter('traderCompanyType', '')->addPostParameter('traderStreet', '')->addPostParameter('traderPostalCode', '')->addPostParameter('traderCity', '')->addPostParameter('requesterNumber', '');
try {
$resp = $req->send();
$ok = preg_match('/Yes[,\\s]+valid\\s+VAT\\s+number/i', $resp->getBody());
Am_Di::getInstance()->cache->save($ok ? 1 : 0, $cacheKey);
if (!$ok) {
return $this->___('Invalid VAT Id, please try again');
}
} catch (Exception $e) {
Am_Di::getInstance()->errorLogTable->log($e);
return $this->___("Cannot validate VAT Id, please try again");
}
}