Payeezy: как сделать «предварительную авторизацию» транзакция на «завершение с тегом» транзакция в переполнении стека

Платежный шлюз Payeezy успешно интегрирован с php. Сохраняется тип транзакции как «AUTH_ONLY». Для совершения полной транзакции перейдите в админ-панель и сделайте ее как отмеченное завершение как показано на скриншоте.

введите описание изображения здесь

Теперь мы хотим позволить продавцу добавить доставку
сбор, вычислите сумму из нашего приложения, а затем отправьте
Обратитесь в Payeezy с общей суммой, которая будет списана с
тег транзакции, полученный ранее и завершивший предыдущий
предварительная авторизация завершена.

Здесь ссылка на сайт как этого добиться, но не может понять, как это сделать с php.

Заранее спасибо.

С уважением,
Судир

0

Решение

Я получил правильный код для этого. Вот правильный код в php и заполните все переменные правильными значениями payeezy.

class SoapClientHMAC extends SoapClient {
public function __doRequest($request, $location, $action, $version, $one_way = NULL) {
global $context;
$hmackey = "********************"; // <-- Insert your HMAC key here
$keyid = "******"; // <-- Insert the Key ID here
$hashtime = date("c");
$hashstr = "POST\ntext/xml; charset=utf-8\n" . sha1($request) . "\n" . $hashtime . "\n" . parse_url($location,PHP_URL_PATH);
$authstr = base64_encode(hash_hmac("sha1",$hashstr,$hmackey,TRUE));
if (version_compare(PHP_VERSION, '5.3.11') == -1) {
ini_set("user_agent", "PHP-SOAP/" . PHP_VERSION . "\r\nAuthorization: GGE4_API " . $keyid . ":" . $authstr . "\r\nx-gge4-date: " . $hashtime . "\r\nx-gge4-content-sha1: " . sha1($request));
}
else {
stream_context_set_option($context,array("http" => array("header" => "aut horization: GGE4_API " . $keyid . ":" . $authstr . "\r\nx-gge4-date: " . $hashtime . "\r\nx-gge4-content-sha1: " . sha1($request))));
}
return parent::__doRequest($request, $location, $action, $version, $one_way);
}

public function SoapClientHMAC($wsdl, $options = NULL) {
global $context;
$context = stream_context_create();
$options['stream_context'] = $context;
return parent::SoapClient($wsdl, $options);
}
}

$trxnProperties = array(
"User_Name" => "*******",
"Secure_AuthResult" => "",
"Ecommerce_Flag" => "",
"XID" => "",
"ExactID" => "******-**", //Payment Gateway
"CAVV" => "",
"Password" => "**********************", //Gateway       Password
"CAVV_Algorithm" => "",
"Transaction_Type" => $txn_type, //Transaction Code I.E. Purchase="00" Pre-Authorization="01" etc.
"Reference_No" => "",
"Customer_Ref" => "",
"Reference_3" => "",
"Client_IP" => "", //This value is only used for fraud investigation.
"Client_Email" => "", //This value is only used for fraud investigation.
"Language" => "en", //English="en" French="fr""Card_Number" => "4111111111111111", //For Testing, Use Test#s VISA="4111111111111111" MasterCard="5500000000000004" etc.
"Expiry_Date" => "1121", //This value should be in the format MM/YY.
"CardHoldersName" => "test",
"Track1" => "",
"Track2" => "",
"Authorization_Num" => $_POST["auth_no"],
"Transaction_Tag" => $_POST["txn_tag"],
"DollarAmount" => $_POST["amt"] + $_POST["shippingfee"],
"VerificationStr1" => "",
"VerificationStr2" => "",
"CVD_Presence_Ind" => "",
"Secure_AuthRequired" => "",
"Currency" => "",
"PartialRedemption" => "",
// Level 2 fields
"ZipCode" => "",
"Tax1Amount" => "",
"Tax1Number" => "",
"Tax2Amount" => "",
"Tax2Number" => "" );$client = new SoapClientHMAC("https://api.demo.globalgatewaye4.firstdata.com/transaction/v12/wsdl");
$trxnResult = $client->SendAndCommit($trxnProperties);if(@$client->fault){
// there was a fault, inform
print "<B>FAULT:  Code: {$client->faultcode} <BR />";
print "String: {$client->faultstring} </B>";
$trxnResult["CTR"] = "There was an error while processing. No TRANSACTION DATA IN CTR!";
}
//Uncomment the following commented code to display the full results.

echo "<H3><U>Transaction Properties BEFORE Processing</U></H3>";
echo "<TABLE border='0'>\n";
echo " <TR><TD><B>Property</B></TD><TD><B>Value</B></TD></TR>\n";
foreach($trxnProperties as $key=>$value){
echo " <TR><TD>$key</TD><TD>:$value</TD></TR>\n";
}
echo "</TABLE>\n";

echo "<H3><U>Transaction Properties AFTER Processing</U></H3>";
echo "<TABLE border='0'>\n";
echo " <TR><TD><B>Property</B></TD><TD><B>Value</B></TD></TR>\n";
foreach($trxnResult as $key=>$value){
$value = nl2br($value);
echo " <TR><TD valign='top'>$key</TD><TD>:$value</TD></TR>\n";
}
echo "</TABLE>\n";// kill object
unset($client);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]