MoneySafeWithdrawal via MoneySafe
MoneySafe is a secure wallet option accepted online at betting websites. It is a popular payment option in Greece.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
296 | MoneySafeWithdrawal | WithdrawnByProvider(20) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
After the user choose the payment method on merchant's site the merchant has to send the initiatePaymentRequest with user's mobile phone number which he/she used when registered with MoneySafe.
Backend2BackendIntegration
The following parameter has to be provided in the initiatePaymentRequest.specificPaymentData xml section:
key (value type, account type, required) | value |
---|---|
AccountNumber (string, required) | User's account number |
Example initiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>KalixaAcceptDEMO</merchantID>
<shopID>KalixaAcceptDEMO</shopID>
<merchantTransactionID>444v444c-4444-2g22-2222-4gf2f224fhey</merchantTransactionID>
<paymentMethodID>296</paymentMethodID>
<amount currencyCode="EUR">10.00</amount>
<userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
<userSessionID>df07248d-b65f-450c-a018-64f12e9d62fc</userSessionID>
<creationTypeID>1</creationTypeID>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>5700007650</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse (WithdrawnByProvider - success case):
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>KalixaAcceptDEMO</merchantID>
<shopID>KalixaAcceptDEMO</shopID>
<paymentMethod>
<key>296</key>
<value>MoneySafeWithdrawal</value>
</paymentMethod>
<merchantTransactionID>444v444c-4444-2g22-2222-4gf2f224fhey</merchantTransactionID>
<paymentID>5f5ec0a0-4ba4-4951-ab0f-ed9a06251970</paymentID>
<userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
<paymentProvider>
<key>161</key>
<value>MoneySafe</value>
</paymentProvider>
<amount currencyCode="EUR">10.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<state>
<id>bc4d8c62-66de-4215-af54-a1ccb0afc7f1</id>
<definition>
<key>20</key>
<value>WithdrawnByProvider</value>
</definition>
<createdOn>2018-08-09T08:08:23.0736723Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value></value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>00</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>24635069</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>a057231c-05bb-4f0f-a4f0-480004cda5f7</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentResponse (RefusedByProvider):
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>PayrDepositShop</shopID>
<paymentMethod>
<key>296</key>
<value>MoneySafeWithdrawal</value>
</paymentMethod>
<merchantTransactionID>444v444c-4444-2g22-2222-4gf2f225fhey</merchantTransactionID>
<paymentID>56c395f4-2301-4fa6-9563-a705998a9adc</paymentID>
<userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
<paymentProvider>
<key>161</key>
<value>MoneySafe</value>
</paymentProvider>
<amount currencyCode="EUR">1.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<state>
<id>3441e466-4346-4957-8868-d5f299f4ed38</id>
<definition>
<key>100</key>
<value>RefusedByProvider</value>
</definition>
<createdOn>2018-08-09T08:34:25.4230026Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>The amount is less than the minimum requiredtransaction amount</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>204</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">1</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>24635078</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>a057231c-05bb-4f0f-a4f0-480004cda5f7</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Notifications
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
Example handlePaymentStateChangedNotificationRequest for RefusedByProvider state
<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xmlns:q1="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>150001</shopID>
<paymentMethod>
<key>293</key>
<value>MoneySafeDeposit</value>
</paymentMethod>
<merchantTransactionID>e231dbd2-611a-40b7-b882-dba734f30951</merchantTransactionID>
<paymentID>f0798a12-dd7e-4f40-8135-07f3e2175457</paymentID>
<userID>6895456</userID>
<paymentProvider>
<key>161</key>
<value>MoneySafe</value>
</paymentProvider>
<amount currencyCode="EUR">552.7700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>95a98452-33be-4668-b506-cfe97706b6ca</id>
<definition>
<key>100</key>
<value>RefusedByProvider</value>
</definition>
<createdOn>2018-10-12T09:52:13.523</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseCode</key>
<value>552</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResponseMessage</key>
<value>Unable to debit destination account</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">552.7700</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>25406574</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>e80b299d-f6f8-483b-b1ef-7d33d106f845</value>
</detail>
</paymentDetails>
</payment>
</handlePaymentStateChangedNotificationRequest>
handlePaymentStateChangedNotificationRequest states:
State | Description |
---|---|
WithdrawnByProvider | Success state |
RefusedByProvider | Payment is refused by MoneySafe |
WithdrawErrorReportedByProvider | Error is reported by MoneySafe |
State diagram:
Diagram below follows transaction states of Moneysafe Withdraw
Updated almost 6 years ago