function setPaymentMethods()

in src/Feature/Cart/code/Scripts/checkout.js [638:705]


function setPaymentMethods() {
    var data = "{";

    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()
        };

        if (data.length > 1) {
            data += ",";
        }

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

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

        if (data.length > 1) {
            data += ",";
        }

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

    if ($('#addedLoyaltyCard').val() === 'true') {
        var loyaltyCard = {
            "PaymentMethodID": checkoutDataViewModel.loyaltyCardPayment().loyaltyCardNumber(),
            "Amount": checkoutDataViewModel.loyaltyCardPayment().loyaltyCardAmount()
        };

        if (data.length > 1) {
            data += ",";
        }

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

    data += "}";

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

    AJAXPost(StorefrontUri("api/sitecore/checkout/SetPaymentMethods"), data, setPaymentMethodsResponse, $(this));
}