С поставщиками платежных услуг (PSP) общие настройки связи обычно выглядят примерно так:
1) Ваш сервер связывается с PSP и устанавливает транзакцию, указывая необходимую сумму и данные вашей учетной записи PSP.
2) PSP отвечает идентификатором транзакции, который вы затем добавляете в форму. Этот идентификатор транзакции не содержит никакой информации о задействованных ценах - это просто идентификатор записи транзакции, установленной вашим сервером с PSP.
3) Посетитель заполняет форму, которая отправляется в PSP. Затем они перенаправляют посетителя обратно на ваш сайт.
4) Ваш сервер запрашивает сервер PSP и проверяет, что транзакция прошла успешно (т. Е. Метод оплаты посетителями подтвержден транзакцией с PSP и т. Д.)
Связь между сервером и PSP обычно выполняется с использованием библиотеки, такой как curl.
Google предоставляет ряд библиотек / примеров того, как правильно обрабатывать транзакции (и, по моему опыту, большинство других PSP делают то же самое):
http://code.google.com/apis/checkout/samplecode.html
Точные детали связи могут различаться в зависимости от PSP, но в целом не должно быть необходимости, чтобы «общая сумма» когда-либо проходила через форму, отображаемую посетителю. Все это делается от сервера к серверу, поэтому посетитель не может изменить детали.