function submitOrder()

in src/Feature/Cart/code/Scripts/checkout.js [722:780]


function submitOrder() {
    ClearGlobalMessages();

    var data = "{";
    data += '"userEmail": "' + checkoutDataViewModel.billingEmail() + '"';

    if (checkoutDataViewModel.creditCardPayment().isAdded()) {
        var cc = checkoutDataViewModel.creditCardPayment();
        var creditCard = {
            "CreditCardNumber": cc.creditCardNumber(),
            "PaymentMethodID": cc.paymentMethodID(),
            "ValidationCode": cc.validationCode(),
            "ExpirationMonth": cc.expirationMonth(),
            "ExpirationYear": cc.expirationYear(),
            "CustomerNameOnPayment": cc.customerNameOnPayment(),
            "Amount": cc.creditCardAmount(),
            "PartyID": $('#billingAddress-ExternalId').val()
        };

        var ba = checkoutDataViewModel.billingAddress();
        var billingAddress =
        {
            "Name": ba.name(),
            "Address1": ba.address1(),
            "Country": ba.country(),
            "City": ba.city(),
            "State": ba.state(),
            "ZipPostalCode": ba.zipPostalCode(),
            "ExternalId": ba.externalId(),
            "PartyId": ba.externalId()
        };

        data += ',"CreditCardPayment":' + JSON.stringify(creditCard) + ',"BillingAddress":' + JSON.stringify(billingAddress);
    }

    if (checkoutDataViewModel.giftCardPayment().isAdded()) {
        var giftCard = {
            "PaymentMethodID": checkoutDataViewModel.giftCardPayment().giftCardNumber(),
            "Amount": checkoutDataViewModel.giftCardPayment().giftCardAmount()
        };

        data += ',"GiftCardPayment":' + JSON.stringify(giftCard);
    }

    if (checkoutDataViewModel.loyaltyCardPayment().isAdded()) {
        var loyaltyCard = {
            "PaymentMethodID": checkoutDataViewModel.loyaltyCardPayment().loyaltyCardNumber(),
            "Amount": checkoutDataViewModel.loyaltyCardPayment().loyaltyCardAmount()
        };

        data += ',"LoyaltyCardPayment":' + JSON.stringify(loyaltyCard);
    }

    data += "}";

    $("#PlaceOrderButton").button('loading');

    AJAXPost(StorefrontUri("api/sitecore/checkout/SubmitOrder"), data, submitOrderResponse, $(this));
}