#javascript #php #payment-gateway #mastercard
#javascript #php #платежный шлюз #mastercard
Вопрос:
Я использую мастер-карту checkout.js версия метода 57. Существует два типа способов оплаты. Я хочу использовать только showLightbox()
, но, к сожалению completeCallback()
, функция не работает. Я пытался найти решение, но все предлагают отправить Interaction.returnUrl
параметр в запросе сеанса, но я не хочу перенаправления. Вот мой код,
<script src="https://dohabank.gateway.mastercard.com/checkout/version/57/checkout.js"
data-error="errorCallback"
data-cancel="cancelCallback"
data-beforeRedirect="beforeRedirect"
data-afterRedirect="afterRedirect"
data-complete="completeCallback"
></script>
function completeCallback(resultIndicator, sessionVersion) {
alert(resultIndicator);
}
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://dohabank.gateway.mastercard.com/api/rest/version/57/merchant/TESTDB95810/session",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{rn "apiOperation": "CREATE_CHECKOUT_SESSION",rn "interaction": {rn "operation": "PURCHASE"rn },rn "order" : {rn "amount" : "5.10",rn "currency" : "QAR",rn "description": "Ordered goods",rn "id": "5"rn }rn}",
CURLOPT_HTTPHEADER => array(
"authorization: Basic Auth Token",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
// if ($err) {
// echo "cURL Error #:" . $err;
// } else {
// echo $response;
// }
// echo $response;
$object = json_decode($response);
$sessionId = $object->{'session'}->id;
//$sessionSuccess = $object->{'successIndicator'};
//echo $sessionId;
echo $sessionId;
Комментарии:
1. Напомним, что тег WordPress предназначен для вопросов, связанных с программированием, о системе управления контентом WordPress.
2. хорошо. Спасибо 🙂
Ответ №1:
Я нашел решение. MerchantId
отсутствовал в **Checkout.configure()**
методе.