paymentWithState

The paymentWithState type represents a payment with its last state.

Example:

<payment xsi:type="paymentWithState">
  <merchantID>KalixaAcceptDEMO</merchantID>
  <shopID>KalixaAcceptDEMO</shopID>
  <paymentMethod>
    <key>2</key>
    <value>VISA Deposit</value>
  </paymentMethod>
  <merchantTransactionID>Order99999</merchantTransactionID>
  <paymentID>86b10ad3-d7f6-43fe-bccf-cfde79689584</paymentID>
  <userID>u12312312</userID>
  <paymentProvider>
    <key>92</key>
    <value>CQRUK</value>
  </paymentProvider>
  <amount currencyCode="EUR">100.0000</amount>
  <creationType>
    <key>1</key>
    <value>User</value>
  </creationType>
  <userIP>127.0.0.1</userIP>
  <state>
    <id>b8c96597-97f7-4ed8-ba63-1d512f8eb62a</id>
    <definition>
      <key>13</key>
      <value>AuthorisedByProvider</value>
    </definition>
    <createdOn>2017-03-29T13:52:03.997</createdOn>
    <description>Approved or completed successfully</description>
    <paymentStateDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderResponseCode</key>
        <value>0</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ApprovalCode</key>
        <value>129560</value>
      </detail>
    </paymentStateDetails>
  </state>
  <isExecuted>true</isExecuted>
  <baseAmount currencyCode="EUR">100.0000</baseAmount>
  <paymentDetails>
    <detail xsi:type="keyStringValuePair">
      <key>ProviderExternalID</key>
      <value>471762</value>
    </detail>
  </paymentDetails>
</payment>

Fields:

field (type, required)description
merchantID
(stringID, required)
Merchant ID
shopID
(stringID, required)
Shop ID
paymentMethod
(keyStringValuePair, required)
key = ID of the corresponding payment method
value = name of the corresponding payment method

See Payment Methods for a list including corresponding credit/debit and reversal states.
merchantTransactionID
(stringID, required)
Merchant’s transaction ID
paymentID
(guid, required)
PXP Financial’s Unique ID of the payment

There can be multiple payments with Unique ID related to one merchantTransactionID. This is possible in Refunds, or payment retries from a particular customer
userID
(stringID, required)
The customer ID
paymentProvider
(keyStringValuePair)
The provider through which the payment was processed
amount
(money, required)
same as in request
shopFee
(money)
same as in request
creationType
(keyStringValuePair, required)
same as in request
userIP
(IPAddress)
same as in request
payment.state
(paymentState, required)
The current (last) state of the payment, containing all state-specific details
state.id
(guid, required)
The ID of the payment state
state.definition
(keyStringValuePair, required)
The ID and Name of the state, e.g. 13 AuthorisedByProvider
state.createdOn
(dateTime, required)
The payment state creation date and time, UTC
state.description
(secureString)
state.paymentStateDetails
(array of keyValueBasePairs)
Additional state-specific information (e.g. received from the card schemes in relation to the payment result).
Depending on state definition (payment.state.definition.key) and payment method ('payment.paymentMethod.key') specific key-values can be returned in the payment.state.paymentStateDetails key-value collection.
isExecuted
(boolean)
Indicates if the payment has reached a credit/debit state indicating that the money transfer has been authorised
baseAmount
(money)
paymentDetails
(array of keyValueBasePairs)
Further information can be delivered depending on the payment method
paymentAccount
(paymentAccount)
paymentAccount.paymentAccountID
(paymentAccount, required)
The token associated to the card number or any alternative payment method account
paymentAccount.details
(array of keyValueBasePairs)
Further information can be delivered depending on the payment account type

XML Schema:

<complexType name="paymentWithState">
  <sequence>
    <element minOccurs="1" maxOccurs="1" name="merchantID" type="stringID"/>
    <element minOccurs="1" maxOccurs="1" name="shopID" type="stringID"/>
    <element minOccurs="1" maxOccurs="1" name="paymentMethod" type="keyStringValuePair"/>
    <element minOccurs="1" maxOccurs="1" name="merchantTransactionID" type="merchantTransactionID"/>
    <element minOccurs="1" maxOccurs="1" name="paymentID" type="guid"/>
    <element minOccurs="1" maxOccurs="1" name="userID" type="stringID"/>
    <element minOccurs="0" maxOccurs="1" name="paymentProvider" type="keyStringValuePair"/>
    <element minOccurs="1" maxOccurs="1" name="amount" type="money"/>
    <element minOccurs="0" maxOccurs="1" name="shopFee" type="money"/>
    <element minOccurs="1" maxOccurs="1" name="creationType" type="keyStringValuePair"/>
    <element minOccurs="0" maxOccurs="1" name="userIP" type="IPAddress"/>
    <element minOccurs="1" maxOccurs="1" name="state" type="paymentState"/>
    <element minOccurs="0" maxOccurs="1" name="isExecuted" type="s:boolean" nillable="true"/>
    <element minOccurs="0" maxOccurs="1" name="baseAmount" type="money"/>
    <element minOccurs="0" maxOccurs="1" name="paymentDetails" nillable="true">
      <complexType>
        <sequence>
          <element minOccurs="1" maxOccurs="100" name="detail" type="keyValueBasePair"/>
        </sequence>
      </complexType>
    </element>
  </sequence>
</complexType>