Menu

Postepay

Note: To learn about the features of Postepay, there's an overviewhere

How to integrate Postepay payments:

Direct payment request

For Postepay payments, the <shopperEmailAddress> is mandatory:

Copied!
<?xml version="1.0"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "dtd/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT CODE">
  <submit>
    <order orderCode="YOUR_ORDER_CODE"><!--Use a unique order code each time-->
      <description>YOUR_DESCRIPTION</description>
      <amount currencyCode="EUR" value="100" exponent="2"/>
      <orderContent>YOUR_ORDER_CONTENT</orderContent>
      <paymentDetails>
        <POSTEPAY-SSL shopperCountryCode="IT">
          <successURL>http://www.worldpay.com/successURL</successURL>
          <cancelURL>http://www.worldpay.com/cancelURL</cancelURL>
          <pendingURL>http://www.worldpay.com/pendingURL</pendingURL>
        </POSTEPAY-SSL>
      </paymentDetails>
      <shopper>
        <shopperEmailAddress>shopper@worldpay.com</shopperEmailAddress><!--Mandatory-->
      </shopper>
    </order>
  </submit>
</paymentService>

Hosted payment request

In this example the merchant has specified that only the Postepay payment method should be offered. The append string ensures this:

&country=IT&preferredPaymentMethod=POSTEPAY-SSL

Copied!
<?xml version="1.0"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "dtd/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT CODE">
  <submit>
    <order orderCode="YOUR_ORDER_CODE" installationId="1234567"><!--Use a unique order code each time. Contact Worldpay if you haven't got an installationID-->
      <description>Test order</description>
      <amount value="100" currencyCode="EUR" exponent="2" />
      <orderContent>
        <![CDATA[ ]]>
      </orderContent>
      <paymentMethodMask>
        <include code="ALL" />
      </paymentMethodMask>
      <shopper>
        <shopperEmailAddress>shopper@worldpay.com</shopperEmailAddress>
      </shopper>
    </order>
  </submit>
</paymentService>

Payment outcomes

Successful

Shopper pays
Event 1:The shopper successfully completes a payment for EUR 1.00 on the Postepay pages.
Behaviour:successURL is returned
URL:SUCCESS
URL Example:https://secure.worldpay.com/sc2/jsp/shopper/SuccessView.jsp?orderKey=ADMINCODE^MERCHANTCODE^Example_Postepay_order&paymentStatus=AUTHORISED&paymentAmount=100&paymentCurrency=EUR&mac=ba7bfe716d4d0b3657ce2bdadbd30ec3
Payment Status:The payment status remains at AUTHORISED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>AUTHORISED</lastEvent>
        <balance accountType="IN_PROCESS_AUTHORISED">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
      <journal journalType="AUTHORISED">
        <bookingDate>
          <date dayOfMonth="03" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_AUTHORISED" batchId="28">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Payment captured
Event 2:The payment is captured in WPG.
Behaviour:The automatic capture job runs in WPG to automatically.
URL:No URL is returned to the shopper as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status remains at CAPTURED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>SETTLED</lastEvent>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="83" currencyCode="GBP" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
    <journal journalType="SETTLED" description="1 EUR = 0.83262 GBP">
        <bookingDate>
          <date dayOfMonth="05" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="71">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="debit"/>
        </accountTx>
        <accountTx accountType="SETTLED_BIBIT_NET" batchId="44">
          <amount value="83" currencyCode="GBP" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Payment settled
Event 3:The payment is settled internally in WPG.
Behaviour:The payment is successfully settled to the merchant's Worldpay account.
URL:No URL is returned to the shopper as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status changes to SETTLED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>SETTLED</lastEvent>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="83" currencyCode="GBP" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
    <journal journalType="SETTLED" description="1 EUR = 0.83262 GBP">
        <bookingDate>
          <date dayOfMonth="05" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="71">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="debit"/>
        </accountTx>
        <accountTx accountType="SETTLED_BIBIT_NET" batchId="44">
          <amount value="83" currencyCode="GBP" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Cancellation

Shopper cancels
Event:The shopper clicks the Cancel button on the Postepay payment pages
Behaviour:The payment is cancelled and the shopper is taken back to the payment method selection screen.
URL:No URL is returned as the shopper is returned to the payment method section.
URL Example:N/A
Payment Status:The payment status remains at SHOPPER_CANCELLED.
Notification Example:No notification is generated.

Invalid data entry

Invalid data
Event 1:The shopper enters an incorrect Postepay card number
Behaviour:An error message appears to shoppers. It states that the PAN is invalid, or the shopper is sent on the pending URL.
URL:PENDING
URL Example:http://www.worldpay.com/?pending&orderKey=ADMINCODE^MERCHANTCODE^Example_Postepay_order&status=OPEN
Payment Status:The payment status remains at SHOPPER_REDIRECTED
Notification Example:No notification is generated.
Incorrect CVV
Event 2:The shopper enters an incorrect Postepay CVV
Behaviour:An error message appears to shoppers. It states that the CVV must be three digits long, or the shopper is sent on the pending URL
URL:PENDING
URL Example:http://www.worldpay.com/?pending&orderKey=ADMINCODE^MERCHANTCODE^Example_Postepay_order&status=OPEN
Payment Status:The payment status remains at SHOPPER_REDIRECTED
Notification Example:No notification is generated.
Incorrect expiry date
Event 3:The shopper enters an incorrect Postepay card expiry date
Behaviour:The shopper is sent on the pending URL
URL:PENDING
URL Example:http://www.worldpay.com/?pending&orderKey=ADMINCODE^MERCHANTCODE^Example_Postepay_order&status=OPEN
Payment Status:The payment status remains at SHOPPER_REDIRECTED
Notification Example:No notification is generated.

Exception conditions

Error with PSP
Event 1:The payment cannot be processed due to technical issues at the PSP
Behaviour:pendingURL with status=ERROR is returned. This scenario occurs in exceptional circumstances where the payment cannot be processed for technical reasons.
URL:PENDING (ERROR)
URL Example:http://www.worldpay.com/pendingURL?orderKey=ADMINCODE^MERCHANTCODE^ Example_Postepay_order&status=ERROR
Payment Status:The payment status remains at SHOPPER_REDIRECTED
Notification Example:No notification is generated.
Authorisation + 5 seconds
Event 2:Worldpay receives the asynchronous authorisation from Postepay more than 5 seconds after the shopper has completed their journey.
Behaviour:pendingURL with status=OPEN is returned.
URL:PENDING
URL Example:http://www.worldpay.com/?pending&orderKey=ADMINCODE^MERCHANTCODE^Example_Postepay_Order&status=OPEN
Payment Status:The payment status changes to AUTHORISED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>AUTHORISED</lastEvent>
        <balance accountType="IN_PROCESS_AUTHORISED">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
      <journal journalType="AUTHORISED">
        <bookingDate>
          <date dayOfMonth="03" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_AUTHORISED" batchId="28">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Refunds

Refund requested
Event 1:The merchant requests a refund of the payment in MAI.
Behaviour:The merchant requests a bank transfer refund of a settled payment in WPG.
URL:No URL is returned as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status is set to SENT_FOR_REFUND.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>SENT_FOR_REFUND</lastEvent>
        <balance accountType="IN_PROCESS_CAPTURED">
          <amount value="40" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
      <journal journalType="SENT_FOR_REFUND">
        <bookingDate>
          <date dayOfMonth="04" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="72">
          <amount value="60" currencyCode="EUR" exponent="2" debitCreditIndicator="debit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Refund sent
Event 2:The requested refund is successfully sent to the shopper's bank.
Behaviour:WPG receives confirmation that the payment has been successfully sent to the shopper’s wallet.
URL:N/A
URL Example:N/A
Payment Status:The payment status is set to REFUNDED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>REFUNDED</lastEvent>
        <riskScore value="21"/>
      </payment>
      <journal journalType="REFUNDED" description="1 EUR = 0.83114 GBP">
        <bookingDate>
          <date dayOfMonth="06" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="72">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
        <accountTx accountType="SETTLED_BIBIT_NET" batchId="44">
          <amount value="83" currencyCode="GBP" exponent="2" debitCreditIndicator="debit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Refund failed
Event 3:The refund fails (for example, because the shopper has specified incorrect bank details).
Behaviour:WPG receives confirmation that the payment has NOT been successfully sent to the shopper’s wallet.
URL:N/A
URL Example:N/A
Payment Status:The payment status is set to REFUND_FAILED.
Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"><!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>POSTEPAY-SSL</paymentMethod>
        <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        <lastEvent>REFUND_FAILED</lastEvent>
        <balance accountType="IN_PROCESS_CAPTURED">
          <amount value="100" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </balance>
        <riskScore value="91"/>
      </payment>
      <journal journalType="REFUND_FAILED" description="Inverse booking.">
        <bookingDate>
          <date dayOfMonth="04" month="09" year="2013"/>
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="72">
          <amount value="60" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Transfer reports

Settled

The following is an example of a settled transaction in an XML transfer report for EUR 99.00 where the Merchants account settles in EUR:

Copied!
<?xml version="1.0"?>
<orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
  <payment>
    <paymentMethod>POSTEPAY-SSL</paymentMethod>
      <amount value="9900" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
      <lastEvent>SETTLED</lastEvent>
      <balance accountType="SETTLED_BIBIT_NET">
        <amount value="9900" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
      </balance>
  </payment>
  <journal journalType="SETTLED" description=" ">
     <bookingDate>
       <date dayOfMonth="10" month="7" year="2013" hour="8" minute="22" second="21"/>
     </bookingDate>
     <accountTx accountType="SETTLED_BIBIT_NET" batchId="74">
       <amount value="9900" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
     </accountTx>
     <accountTx accountType="IN_PROCESS_CAPTURED" batchId="449">
       <amount value="9900" currencyCode="EUR" exponent="2" debitCreditIndicator="debit"/>
     </accountTx>
  </journal>
</orderStatusEvent>

Refunded

The following is an example of a refunded transaction in an XML transfer report for EUR 99.95 where the Merchants account settles in EUR:

Copied!
<?xml version="1.0"?>
<orderStatusEvent orderCode="ORDER_CODE"><!--Will contain the order code used in the request-->
 <payment>
   <paymentMethod>POSTEPAY-SSL</paymentMethod>
   <amount value="9995" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
   <lastEvent>REFUNDED</lastEvent>
  </payment>
  <journal journalType="REFUNDED" description=" ">
    <bookingDate>
      <date dayOfMonth="11" month="7" year="2013" hour="11" minute="12" second="26"/>
    </bookingDate>
    <accountTx accountType="SETTLED_BIBIT_NET" batchId="74">
      <amount value="9995" currencyCode="EUR" exponent="2" debitCreditIndicator="debit"/>
    </accountTx>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId <amount value="9995" currencyCode="EUR" exponent="2" debitCreditIndicator="credit"/>
    </accountTx>
  </journal>
</orderStatusEvent>