событие завершения обработки данных не работает в платежном шлюзе Mastercard Checkout.js интеграция

#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()** методе.