post https://api.test.kalixa.com/PaymentRedirectionService/PaymentService.svc/pox/handlePaymentStateChangedNotification
handlePaymentStateChangedNotificationRequest fields
field (type, required) | description |
---|---|
payment (paymentWithPaymentAccount, required) | Type containing all payment details |
payment.merchantID (stringID, required) | Merchant ID |
payment.shopID (stringID, required) | Shop ID |
payment.paymentMethod (keyStringValuePair, required) | key = ID of the corresponding payment method value = name of the corresponding payment method look at 2.1.3.2 Payment Methods and State Notifications |
payment.merchantTransactionID (stringID, required) | Merchant’s transaction ID |
payment.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 |
payment.userID (stringID, required) | The customer ID |
payment.paymentProvider (keyStringValuePair) | key = ID value = name of the provider used for processing the payment |
payment.amount (money, required) | Net amount of the transaction with currency |
payment.shopFee (money) | Fee amount to be paid by the customer |
payment.creationType (keyStringValuePair, required) | It specifies who triggered the transaction 1 = User (Customer) 2 = MerchantOperator 3 = Api (Merchant) 5 = MotoEcom 6 = Provider (PXP Financial) |
payment.userIP (IPAddress) | The IP of the customer where the payment request came from |
payment.state (paymentState, required) | contains all the details related to the notified state transition |
payment.state.id (guid, required) | The ID of the payment state |
payment.state.definition (keyStringValuePair, required) | key = ID of the state value = Name of the state The merchant should react based on the meaning of these states. look at 2.1.3.2 Payment Methods and State Notifications |
payment.state.createdOn (dateTime, required) | The date and time when the payment switched to that last state |
payment.state.paymentStateDetails (array of keyValueBasePairs) | Additional state-specific details |
payment.isExecuted (boolean) | Indicates if the payment has reached a credit/debit state indicating that the money transfer has been authorised |
payment.baseAmount (money) | Amount in base accounting currency which can be selected by the merchant during setup (for reporting purposes) |
payment.paymentDetails (array of keyValueBasePairs) | Additional payment method-specific details |
payment.paymentAccount (paymentAccount) | The payment instrument (e.g. credit card) used by the customer to perform the payment |
payment.paymentAccount.paymentAccountID (secureString, required) | The token associated to a credit card number. It can be used to initiate CardOnFile transactions (further details look at 2.2.1 Payment Initiation - Card On File (Tokenization)) Please be aware, this token is created for any account type created in the system |
payment.paymentAccount.details (array of keyValueBasePairs, required) | Additional details could be received per payment account type |
handlePaymentStateChangedNotificationRequest.state.paymentStateDetails key-values
key (value type, functionality) | value |
---|---|
ProviderResponseCode (string) | Response code of the provider key = ProviderResponseCode value = code see [Provider Response Codes] (Creation Types) Used for payment methods: Visa, Visa Debit, Mastercard, Mastercard Debit, Maestro Deposit |
ApprovalCode (string) | Approval code, when transaction gets authorized key = ApprovalCode value = code Used for payment methods: Visa, Visa Debit, Mastercard, Mastercard Debit, Maestro Deposit |
handlePaymentStateChangedNotificationRequest.paymentDetails key-values
The below details are used for payment methods: Visa, Visa Debit, Mastercard, Mastercard Debit, Maestro, Bank Transfer, Bank Transfer Withdrawal, Multibanco, Neteller, Neteller Withdrawal, Paysafecard, Trustly, Ticket Premium.
key (value type, functionality) | value |
---|---|
ProviderExternalID (string) | It is the transaction ID from the provider |
ShippingName (string) | Name of the shipping’s receiver key = ShippingName value = value |
ShippingStreet (string) | Street key = ShippingStreet value = value |
ShippingCity (string) | City key = ShippingCity value = value |
ShippingState (string) | State or province. Applicable for U.S key = ShippingState value = value |
ShippingPostalCode (string) | Postal code key = ShippingPostalCode value = value |
ShippingCountryCode2 (string) | ISO code of the shipping country key = ShippingCountryCode2 value = value |
ShippingTelephoneNumber (string) | Telephone number key = ShippingTelephoneNumber value = value |
handlePaymentStateChangedNotificationResponse fields
field (type, required) | description |
---|---|
resultCode (keyStringValuePair, required) | Details representing the result after the notification handling Key = ID of the response, please see the table Result Codes (below) Value = Name of the response, please see the table Result Codes (below) |
resultMessage (string) | A message to be attached to the result of the notification |
Result Codes
id | name | descripton | sync notification | async notification |
---|---|---|---|---|
0 | ProcessedSuccessfully | Notification request processed successfully | No retry | No retry |
3 | RefusedByRiskManagement | Notification request processed successfully, and the payment is refused by the merchant | No retry Payment processing will be aborted (applicable for withdrawals) | No retry |
10 | ErrorProcessingEvent | Problems occurred when processing the notification request | No retry | Retry Notification will be rescheduled |
Samples
/handlePaymentStateChangedNotificationRequest/Sample notifications