I am trying to charge the credit card using checkout.com. I am using Charge with card token. I have generated the card token using checkoutkit.js. And passing that token to my controller, where i am making payment call. But I am not getting response return. Even in debug mode it is not moving to next line. My view and controller code:
<script>
window.CKOConfig = {
debugMode: true,
publicKey: 'pk_test_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac',
customerEmail: 'random@email.com',
ready: function (event) {
console.log("CheckoutKit.js is ready");
CheckoutKit.monitorForm('.card-form', CheckoutKit.CardFormModes.CARD_TOKENISATION);
},
apiError: function (event) {
alert('api error');
},
cardTokenised: function(e) {
$.ajax({
type: 'POST',
url: '@Url.Action("Charge")',
data: { cardToken: e.data.id },
success: function (data) {
alert(data);
location.reload();
},
error: function() {
alert('error');
}
});
}
};
</script>
<script async src="https://sandbox.checkout.com/js/v1/checkoutkit.js"></script>
<div class="jumbotron">
<form class="card-form" method="POST">
<input data-checkout="email-address" type="email" placeholder="Email address">
<input data-checkout="card-number" type="text" placeholder="Credit card number">
<input data-checkout="card-name" type="text" placeholder="Name on card">
<input data-checkout="expiry-month" type="text" placeholder="MM">
<input data-checkout="expiry-year" type="text" placeholder="YY">
<input data-checkout="cvv" type="text" placeholder="CVV">
<input type="submit" value="Pay Now">
</form>
</div>
[HttpPost]
public ActionResult Charge(string cardToken)
{
APIClient CheckoutClient = new APIClient("sk_test_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", Environment.Sandbox);
CardTokenCharge cardTokenChargeModel = TestHelper.GetCardTokenChargeCreateModel(cardToken, TestHelper.RandomData.Email);
HttpResponse<Charge> response = CheckoutClient.ChargeService.ChargeWithCardToken(cardTokenChargeModel);
return Json(cardToken);
}