ProFee redirect deposit
ProFee redirect deposit is an e-wallet payment method developed by Sibilla Solutions Ltd (regulated as an EMI by the Central Bank of Cyprus). ProFee is designed to meet all needs: from an ordinary Internet user to a large online shop. Customer processes payments through an account in an electronic wallet that securely stores users’ payment information and passwords for numerous payment methods and websites.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
303 | ProfeeRedirectDeposit | DepositedByProvider(29) |
In addition to the typical e-wallet solution, ProFee also offer merchants the possibility to initiate a card payment transaction that is known as Cards by ProFee. For more details please see section Cards by ProFee
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
After choosing the payment method on the merchant's site the user is redirected to the provider's site to enter credentials and SMS code for confirmation. When the payment is executed, ProFee send a notification about the result.
Redirect Integration
Currently not supported.
Sequence diagram
Following diagram describes ProFee deposit
Backend2BackendIntegration
The following table contains the fields to be sent in the initiatePaymentRequest.xml and have special format:
key (value type, account type, required) | value |
---|---|
amount (decimal, required) | Deposit amount. Must be numeric in following format: ####.## |
specificPaymentData xml section explained
key (value type, account type, required) | value |
---|---|
SuccessPageUrl (string, required) | URL to which the user will be redirected if transaction is successful |
ErrorPageUrl (string, required) | URL to which the user will be redirected if transaction is unsuccessful |
BrowserHeaderUserAgent | Software used by the client. Expected format: soft vX.Y.. Optional field. |
specificPaymentAccountData xml section explained
key (value type, account type, required) | value |
---|---|
AccountNumber (string, required) | User’s phone number. The key parameter of a ProFee user account, there can be only one wallet per number |
Example initiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>MyMerchant</merchantID>
<shopID>MyShop</shopID>
<merchantTransactionID>512-12755-n568-g32662-hgrghhh7</merchantTransactionID>
<paymentMethodID>303</paymentMethodID>
<amount currencyCode="RUB">155</amount>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<userIP>127.0.0.1</userIP>
<userSessionID>8da7fe3c-da36-45c0-b107-ff9f91d71db6</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>BrowserHeaderUserAgent</key>
<value>Mozilla/5.0</value>
</data>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>https://success/?a=b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>https://error/?a=b</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>79250000000</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<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>MyMerchant</merchantID>
<shopID>MyShop</shopID>
<paymentMethod>
<key>303</key>
<value>ProfeeRedirectDeposit</value>
</paymentMethod>
<merchantTransactionID>512-12755-n568-g32662-hgrghhh7</merchantTransactionID>
<paymentID>7eeb6082-1c00-4827-bb0b-ffa2729f037b</paymentID>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<paymentProvider>
<key>167</key>
<value>ProFee</value>
</paymentProvider>
<amount currencyCode="RUB">155</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>abdc4b1a-c8a9-42ea-874f-371d19d5f4dc</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2018-04-03T13:51:38.4471554Z</createdOn>
<description>http://dev.backend.cqrpayments.com/WebMockProviders/ProFee/Index?paymentID=1613741</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://dev.backend.cqrpayments.com/WebMockProviders/ProFee/Index?paymentID=1613741</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">3.82</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>999</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>1613741</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>135e618f-f2d0-4e1b-a85a-4bf92f18819a</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.
The provider notifies PXP Financial on payments that are either Successful (state DepositedByProvider) or Declined (state RefusedByProvider).
Shop notification states:
State | Description |
---|---|
DepositedByProvider | Transaction was successful |
RefusedByProvider | Unsuccessful transaction reported by provider |
DepositErrorReportedByProvider | Unsuccessful transaction due to redirect URL failure reported by provider |
AbortedByCustomer | Unsuccessful transaction aborted by the user |
Example Shop notification:
<?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 xsi:type="paymentWithPaymentAccount">
<merchantID>MyMerchant</merchantID>
<shopID>MyShop</shopID>
<paymentMethod>
<key>303</key>
<value>ProfeeRedirectDeposit</value>
</paymentMethod>
<merchantTransactionID>512-12755-n568-g32662-hgrghhh7</merchantTransactionID>
<paymentID>7eeb6082-1c00-4827-bb0b-ffa2729f037b</paymentID>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<paymentProvider>
<key>167</key>
<value>ProFee</value>
</paymentProvider>
<amount currencyCode="RUB">155.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>7892d0d7-3fda-4a27-ba7b-1a4bed05d825</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2018-04-03T15:09:20.463</createdOn>
<description />
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderReasonCode</key>
<value>paid</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">3.8200</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>1613741</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>999</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>135e618f-f2d0-4e1b-a85a-4bf92f18819a</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>accountNumber</key>
<value>79250000000</value>
</detail>
</details>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Cards by ProFee
Backend2BackendIntegration
The following table contains the fields to be sent in the initiatePaymentRequest.xml and have special format:
key (value type, account type, required) | value |
---|---|
amount (decimal, required) | Deposit amount. Must be numeric in following format: ####.## |
specificPaymentData xml section explained
key (value type, account type, required) | value |
---|---|
SuccessPageUrl (string, required) | URL to which the user will be redirected if transaction is successful |
ErrorPageUrl (string, required) | URL to which the user will be redirected if transaction is unsuccessful |
BrowserHeaderUserAgent | Software used by the client. Expected format: soft vX.Y.. Optional field. |
IsCardPayment | Should be "true" if the Cards by ProFee method flow needs to be triggered. If "false" or if the key-value pair is not sent at all, the Wallet method flow is triggered. Optional field. |
specificPaymentAccountData xml section explained
key (value type, account type, required) | value |
---|---|
AccountNumber (string, required) | User’s phone number. The key parameter of a ProFee user account, there can be only one wallet per number |
Example initiatePaymentRequest:
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>B2BTestMerchant</merchantID>
<shopID>ProviderTestShop2</shopID>
<merchantTransactionID>512-12756-n119-g32925-hgrgh4</merchantTransactionID>
<paymentMethodID>303</paymentMethodID>
<amount currencyCode="RUB">12</amount>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<userIP>127.0.0.1</userIP>
<userSessionID>8da7fe3c-da36-45c0-b107-ff9f91d71db6</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>BrowserHeaderUserAgent</key>
<value>Mozilla/5.0</value>
</data>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>https://success/?a=b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>https://error/?a=b</value>
</data>
<data xsi:type="keyBooleanValuePair">
<key>IsCardPayment</key>
<value>true</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>359879027658</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<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>ProviderTestShop2</shopID>
<paymentMethod>
<key>303</key>
<value>ProfeeRedirectDeposit</value>
</paymentMethod>
<merchantTransactionID>512-12756-n119-g32925-hgrgh4</merchantTransactionID>
<paymentID>7e52098f-50d6-47d4-b50c-1f91b933a353</paymentID>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<paymentProvider>
<key>167</key>
<value>ProFee</value>
</paymentProvider>
<amount currencyCode="RUB">12</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>4bfe5ed0-3efe-44d9-b020-fa548b06a62a</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2020-05-27T14:49:53.6751304Z</createdOn>
<description>https://terminal-stage.profee.com/app/wallet/invoice/73DD71840A0C42950B070A1BE45EFA7327AAB98A?t=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ3YWxJZFwiOlwiV0wtMTAwMDAwMDAwMDAxMjIwOFwiLFwiand0Um9sZVwiOlwiR1VFU1RcIixcInBheW1lbnRJZFwiOm51bGx9IiwiaXNzIjoib25saW5lIiwiaWF0IjoxNTkwNTkwOTkzLCJleHAiOjE1OTA1OTgxOTMsImF1ZCI6InJlc3QtYXBpLHRlcm1pbmFsIn0.RMoR--Ce4e19SDWaCJLUhb7Q0xgAoYSX-0Nr1YSpIuHKUy4-9xv_BBzO661Gtx3I-Pg5iS3yZVAXrYIotMT8EQ</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://terminal-stage.profee.com/app/wallet/invoice/73DD71840A0C42950B070A1BE45EFA7327AAB98A?t=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ3YWxJZFwiOlwiV0wtMTAwMDAwMDAwMDAxMjIwOFwiLFwiand0Um9sZVwiOlwiR1VFU1RcIixcInBheW1lbnRJZFwiOm51bGx9IiwiaXNzIjoib25saW5lIiwiaWF0IjoxNTkwNTkwOTkzLCJleHAiOjE1OTA1OTgxOTMsImF1ZCI6InJlc3QtYXBpLHRlcm1pbmFsIn0.RMoR--Ce4e19SDWaCJLUhb7Q0xgAoYSX-0Nr1YSpIuHKUy4-9xv_BBzO661Gtx3I-Pg5iS3yZVAXrYIotMT8EQ</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">0.27</baseAmount>
<paymentDetails>
<detail xsi:type="keyBooleanValuePair">
<key>IsCardPayment</key>
<value>true</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>176692</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>RedirectURL</key>
<value>https://terminal-stage.profee.com/app/wallet/invoice/73DD71840A0C42950B070A1BE45EFA7327AAB98A?t=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ3YWxJZFwiOlwiV0wtMTAwMDAwMDAwMDAxMjIwOFwiLFwiand0Um9sZVwiOlwiR1VFU1RcIixcInBheW1lbnRJZFwiOm51bGx9IiwiaXNzIjoib25saW5lIiwiaWF0IjoxNTkwNTkwOTkzLCJleHAiOjE1OTA1OTgxOTMsImF1ZCI6InJlc3QtYXBpLHRlcm1pbmFsIn0.RMoR--Ce4e19SDWaCJLUhb7Q0xgAoYSX-0Nr1YSpIuHKUy4-9xv_BBzO661Gtx3I-Pg5iS3yZVAXrYIotMT8EQ</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>32047742</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>ab5c2227-7eb3-4a7c-b2be-5442427190fa</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>accountNumber</key>
<value>359879027658</value>
</detail>
</details>
</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.
The provider notifies PXP Financial on payments that are either Successful (state DepositedByProvider) or Declined (state RefusedByProvider).
Shop notification states:
State | Description |
---|---|
DepositedByProvider | Transaction was successful |
RefusedByProvider | Unsuccessful transaction reported by provider |
DepositErrorReportedByProvider | Unsuccessful transaction due to redirect URL failure reported by provider |
AbortedByCustomer | Unsuccessful transaction aborted by the user |
Example Shop notification:
<?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="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>ProviderTestShop2</shopID>
<paymentMethod>
<key>303</key>
<value>ProfeeRedirectDeposit</value>
</paymentMethod>
<merchantTransactionID>512-12756-n119-g32925-hgrgh4</merchantTransactionID>
<paymentID>7e52098f-50d6-47d4-b50c-1f91b933a353</paymentID>
<userID>c3ba0665-68ef-4daf-a3e6-8e70a1</userID>
<paymentProvider>
<key>167</key>
<value>ProFee</value>
</paymentProvider>
<amount currencyCode="RUB">12.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>4e92ef51-6e72-4477-b514-819e0b037ef2</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2020-05-27T14:50:50.637</createdOn>
<paymentStateDetails xsi:nil="true" />
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">0.2700</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>32047742</value>
</detail>
<detail xsi:type="keyBooleanValuePair">
<key>IsCardPayment</key>
<value>true</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>176692</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>RedirectURL</key>
<value>https://terminal-stage.profee.com/app/wallet/invoice/73DD71840A0C42950B070A1BE45EFA7327AAB98A?t=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ3YWxJZFwiOlwiV0wtMTAwMDAwMDAwMDAxMjIwOFwiLFwiand0Um9sZVwiOlwiR1VFU1RcIixcInBheW1lbnRJZFwiOm51bGx9IiwiaXNzIjoib25saW5lIiwiaWF0IjoxNTkwNTkwOTkzLCJleHAiOjE1OTA1OTgxOTMsImF1ZCI6InJlc3QtYXBpLHRlcm1pbmFsIn0.RMoR--Ce4e19SDWaCJLUhb7Q0xgAoYSX-0Nr1YSpIuHKUy4-9xv_BBzO661Gtx3I-Pg5iS3yZVAXrYIotMT8EQ</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>ab5c2227-7eb3-4a7c-b2be-5442427190fa</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>accountNumber</key>
<value>359879027658</value>
</detail>
</details>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Updated over 4 years ago