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>