lib/docdata/xml/create.xml.erb
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_1="http://www.docdatapayments.com/services/paymentservice/1_1/">
<soapenv:Header/>
<soapenv:Body>
<_1:createRequest version="1.1">
<_1:merchant name="<%= Docdata::Config.username %>" password="<%= Docdata::Config.password %>"/>
<_1:merchantOrderReference><%= payment.order_reference %></_1:merchantOrderReference>
<_1:paymentPreferences>
<_1:profile><%= payment.profile %></_1:profile>
<_1:numberOfDaysToPay>14</_1:numberOfDaysToPay>
</_1:paymentPreferences>
<_1:shopper id="<%= shopper.id %>">
<_1:name>
<_1:first><%= shopper.first_name %></_1:first>
<_1:last><%= shopper.last_name %></_1:last>
</_1:name>
<_1:email><%= shopper.email %></_1:email>
<_1:language code="<%= shopper.language_code %>"/>
<_1:gender><%= shopper.gender.upcase %></_1:gender>
</_1:shopper>
<_1:totalGrossAmount currency="<%= payment.currency %>"><%= payment.amount %></_1:totalGrossAmount>
<_1:billTo>
<_1:name>
<_1:first><%= shopper.first_name %></_1:first>
<_1:last><%= shopper.last_name %></_1:last>
</_1:name>
<_1:address>
<_1:street><%= shopper.street %></_1:street>
<_1:houseNumber><%= shopper.house_number %></_1:houseNumber>
<_1:postalCode><%= shopper.postal_code %></_1:postalCode>
<_1:city><%= shopper.city %></_1:city>
<_1:country code="<%= shopper.country_code %>"/>
</_1:address>
</_1:billTo>
<% if payment.description.present? %>
<_1:description><%= payment.cleaned_up_description %></_1:description>
<% end %>
<% if payment.receipt_text.present? %>
<_1:receiptText><%= payment.receipt_text %></_1:receiptText>
<% end %>
<% if payment.line_items.any? %>
<_1:invoice>
<!-- TODO: include VAT options -->
<_1:totalNetAmount currency="<%= payment.currency %>"><%= payment.amount %></_1:totalNetAmount>
<!--1 to 1000 repetitions:-->
<% for vat_rate in payment.vat_rates %>
<% puts "Rate: #{vat_rate}" %>
<_1:totalVatAmount currency="<%= payment.currency %>" rate="<%= vat_rate[:rate].to_s %>"><%= vat_rate[:total].to_i.to_s %></_1:totalVatAmount>
<% end %>
<!--1 to 1000 repetitions:-->
<% payment.line_items.each_with_index do |line_item, i| %>
<_1:item number="<%= i+1 %>">
<_1:name><%= line_item.name %></_1:name>
<_1:code><%= line_item.code %></_1:code>
<_1:quantity unitOfMeasure="<%= line_item.unit_of_measure %>"><%= line_item.quantity %></_1:quantity>
<_1:description><%= line_item.description %></_1:description>
<% if line_item.image.present? %>
<_1:image><%= line_item.image %></_1:image>
<% end %>
<_1:netAmount currency="<%= payment.currency %>">20</_1:netAmount>
<_1:grossAmount currency="<%= payment.currency %>">20</_1:grossAmount>
<_1:vat rate="20">
<_1:amount currency="<%= payment.currency %>">20</_1:amount>
</_1:vat>
<_1:totalNetAmount currency="<%= payment.currency %>">20</_1:totalNetAmount>
<_1:totalGrossAmount currency="<%= payment.currency %>">20</_1:totalGrossAmount>
<_1:totalVat rate="20">
<_1:amount currency="20">20</_1:amount>
</_1:totalVat>
</_1:item>
<% end %>
<_1:shipTo>
<_1:name>
<_1:first><%= shopper.first_name %></_1:first>
<_1:last><%= shopper.first_name %></_1:last>
</_1:name>
<_1:address>
<_1:street><%= shopper.street %></_1:street>
<_1:houseNumber><%= shopper.house_number %></_1:houseNumber>
<_1:postalCode><%= shopper.postal_code %></_1:postalCode>
<_1:city><%= shopper.city %></_1:city>
<_1:country code="<%= shopper.country_code %>"/>
</_1:address>
</_1:shipTo>
<!--Optional:-->
<_1:additionalDescription></_1:additionalDescription>
</_1:invoice>
<% end %>
</_1:createRequest>
</soapenv:Body>
</soapenv:Envelope>