2017-03-10 9 views
0

SagePay 3.00 프로토콜에 대해 다음 XML로 BasketXML 항목을 만들려고합니다. 하지만 계속 "3021 : 바구니 형식이 잘못되었습니다."오류가 발생합니다.Sagepay 프로토콜 3.00 - BasketXML 형식 - 할인

<basket> 
    <item> 
     <description>Product desc here</description> 
     <productSku>AWAL02</productSku> 
     <productCode>AWAL02</productCode> 
     <quantity>2</quantity> 
     <unitNetAmount>22.00</unitNetAmount> 
     <unitTaxAmount>0.00</unitTaxAmount> 
     <unitGrossAmount>22.00</unitGrossAmount> 
     <totalGrossAmount>44.00</totalGrossAmount> 
    </item> 

    <deliveryNetAmount>10.00</deliveryNetAmount> 
    <deliveryTaxAmount>0.00</deliveryTaxAmount> 
    <deliveryGrossAmount>10.00</deliveryGrossAmount> 

    <discounts> 
     <discount> 
      <fixed>5.40</fixed> 
      <description>Voucher: PB test</description> 
     </discount> 
    </discounts> 
</basket> 

중 하나가이 무효 인 이유는 어떤 아이디어를 가지고 :

여기 내 XML입니까? 또한로 총 거래 금액을 공급하고 있습니다 :

48.60

를 POST에 transactionRegistration을 위해.

잘못된 바구니 이유는 무엇입니까?

많은 감사, 해결

피터

+0

어떻게 바구니 XML을 서버로 보냅니 까? – DavidG

답변

0

:

그것은 실제로 일부 HTML 문자를 포함 전송되는 것으로 나타났다. 그들이 제대로 인코딩했다하더라도, 예를 들면 : 어쨌든

This is &lt;b&gt;bold&lt;/b&gt; 

- 바구니를 제출하기 전에 태그를 제거 트릭을 할 것으로 보인다.

설명서에 나와있는 일부 문자는 SagePay에서 허용하지 않습니다 (유효한 xml 임에도 불구하고). 내 잘못이야.

(예제 코드가 문제를 올바르게 재현하지 못해 사과드립니다.)