func GenerateBodyXML(order model.PaymentOrder) (bodyXML string) { var body = "<soapenv:Body>" body += "<pay:ProcessPaymentOrder>" body += "<pay:orderId>" + order.OrderId() + "</pay:orderId>" body += "<pay:subtotal>" + strconv.FormatFloat(order.SubTotal(), 'f', -1, 32) + "</pay:subtotal>" body += "<pay:shippingCost>" + strconv.FormatFloat(order.Shipping(), 'f', -1, 32) + "</pay:shippingCost>" body += "<pay:taxAmount>" + strconv.FormatFloat(order.Tax(), 'f', -1, 32) + "</pay:taxAmount>" body += "<pay:total>" + strconv.FormatFloat(order.Total(), 'f', -1, 32) + "</pay:total>" body += "<pay:comment1>" + order.Comment() + "</pay:comment1>" body += "<pay:orderItems>" for i := 0; i < len(order.Items()); i++ { item := GenerateItemXML(order.Items()[i]) body += item } body += "</pay:orderItems>" body += "</pay:ProcessPaymentOrder>" body += "</soapenv:Body>" return body }