Просто поразмышляйте над этим:
если бы не было вызова функции formatReceipt, в которой получается значение поля form.customerContact.value, то есть текущее на момент отправления формы, то адресат всегда бы получал вот это "customerContact": "+79680810048". Это же и происходит с ценой, поэтому и получать ее нужно при отправлении формы.
Я не знаю зачем вся эта хрень и для чего создается объект, но коли и для него эта сумма нужна, и для яндекса, ну так определите ее в функции, передав обеим:
var formatReceipt = function(form) {
var customerContactValue = form.customerContact.value,
sum = document.querySelector('input[name=sum]').value;
//а вот это зачем тогда?
massivValue.price = {amount: sum}; //это в объект
massivValueObject = JSON.parse(ym.value);
ym.value["items"][0].price.amount = sum; //это в яшку
//далее код