Crypto Deposits
The payment method Crypto Deposit supports deposits with Cryptocurrencies.
The Crypto Deposit payment method allows a customer to pay for goods and services using Cryptocurrency (see list of supported currencies below). When a payment is initiated, the customer is redirected to the PXP checkout where they see the Fiat amount due. They can then select from a list of supported Cryptocurrencies and wallets, and the conversion rate and amount of crypto due will be displayed .
A QR code is displayed that the customer needs to scan to complete the transfer. Once they confirm the transfer of the Crypto coin it is transferred to the exchange where it is converted into Fiat (the currency the merchant has sent). Merchants are settled at a chosen interval (daily, weekly, monthly, etc).
The following method IDs are covered in this section:
ID | Name | Credit state |
---|---|---|
431 | Crypto Deposit | DepositedByProvider (29) |
Payment method interaction type: Display of data in merchant´s checkout or redirection to PXP´s checkout.
Flow
Redirect Integration
Payment method CryptoDeposit is available in Checkout.
A demo video is available upon request.
Example getRedirectData request for a Crypto Deposit with redirection to the Selection page (=directly to PXP Checkout selection page):
<getRedirectDataRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>PXPTestMerchant</merchantID>
<redirectParameters xsi:type="paymentMethodSelectionWithDetailsRedirectParameters">
<shopID>PXPTestMerchant</shopID>
<httpMethod>POST</httpMethod>
<returnUrl>http://www.merchantwebsite.com/Return?orderID=10203040</returnUrl>
<languageCode>EN</languageCode>
<currencyCode>EUR</currencyCode>
<countryCode>AT</countryCode>
<additionalDetails>
<detail xsi:type="keyStringValuePair">
<key>SkinID</key>
<value>06c46a30-f882-4ba9-b9d2-628ea5aa617d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>Description</key>
<value>Order Description</value>
</detail>
</additionalDetails>
<user>
<id>KalixaTestUser_3</id>
</user>
<merchantTransactionID>20141211_2</merchantTransactionID>
<grossAmount>33.00</grossAmount>
<minPaymentLimitAmount>10</minPaymentLimitAmount>
<maxPaymentLimitAmount>3000</maxPaymentLimitAmount>
<expirationTimeSpanInSeconds>900</expirationTimeSpanInSeconds>
<successUrl>http://www.merchantwebsite.com/success?orderID=10203040</successUrl>
<pendingUrl>http://www.merchantwebsite.com/pending?orderID=10203040</pendingUrl>
<errorUrl>http://www.merchantwebsite.com/error?orderID=10203040</errorUrl>
<cancelUrl>http://www.merchantwebsite.com/cancel?orderID=10203040</cancelUrl>
<refusedUrl>http://www.merchantwebsite.com/refused?orderID=10203040</refusedUrl>
<paymentDirection>Deposit</paymentDirection>
</redirectParameters>
</getRedirectDataRequest>
Example getRedirectData request for a Crypto Deposit with redirection to the Detail page (=directly to PXP Checkout detail page):
<getRedirectDataRequest
xmlns="http://www.cqrpayments.com/PaymentProcessing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>KalixaAcceptDEMO</merchantID>
<redirectParameters xsi:type="paymentMethodDetailsRedirectParameters">
<shopID>KalixaAcceptDEMO</shopID>
<httpMethod>GET</httpMethod>
<returnUrl>http://return</returnUrl>
<languageCode>en</languageCode>
<currencyCode>EUR</currencyCode>
<countryCode>at</countryCode>
<additionalDetails>
<detail xsi:type="keyStringValuePair">
<key>Description</key>
<value>some description</value>
</detail>
</additionalDetails>
<user>
<id>OB-20220614-01</id>
<username>Test user</username>
<firstname>Test user FN</firstname>
<lastname>Test user LN</lastname>
<currencyCode>EUR</currencyCode>
<languageCode>en</languageCode>
<email>[email protected]</email>
<address>
<countryCode2>AT</countryCode2>
</address>
<dateOfBirth>1999-05-02T00:00:00</dateOfBirth>
<gender>Male</gender>
</user>
<merchantTransactionID>OB-202206141200</merchantTransactionID>
<grossAmount>78.01</grossAmount>
<successUrl>http://success</successUrl>
<pendingUrl>http://pending</pendingUrl>
<errorUrl>http://error</errorUrl>
<cancelUrl>http://cancel</cancelUrl>
<refusedUrl>http://refused</refusedUrl>
<paymentMethodID>431</paymentMethodID>
<isPaymentMethodChangeAllowed>false</isPaymentMethodChangeAllowed>
</redirectParameters>
</getRedirectDataRequest>
Example getRedirectData response:
<getRedirectDataResponse xmlns=http://www.cqrpayments.com/PaymentProcessing xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance>
<redirectData>
<redirectUrl>https://payments.test2.kalixa.com/Checkout/PaymentMethods/172?requestData=m30h4kblzqatlb15f4qxdulb_46d32478-bf3d-4d04-9a8f-b733baa080d8</redirectUrl>
</redirectData>
</getRedirectDataResponse>
After redirection of the customer to the PXP Checkout, the following page will be displayed.
The customer has to select his Cryptocurrency, Crypto wallet and if applicable provide a return address (for special case handling (see below chapters) and the crypto would have to be returned).
If all validation on that page has passed, customer will be able to click the Continue button and will be prompted with the following pop-up information:
After closing the pop-up window using the "x", the customer will see the following screen:
The customer is informed that he needs to transfer the amount by either
- scanning the QR code with his crypto wallet
- copying the amount and address manually in his crypto wallet
If scanning the QR code does not work, the customer also has the option to click the "If this QR code..." link to be displayed with an alternative QR code that might work instead.
Special Cases
The customer has got 15 minutes to complete the transfer in his wallet. If the 15 minutes are exceeded, then this is a "late payment" use-case.
In case the customer transfers too little/too much, then this is an underpayment/overpayment use-case.
See this section for more information: Crypto Deposits Special Cases
Backend2BackendIntegration
On the Backend2BackendIntegration, the merchant has to call first getPaymentInputData to get the list of supported crypto currencies and supported crypto wallets. The data has to be provided for selection to the customer.
The end user needs to select a crypto currency and crypto wallet and then the merchant needs to send the initiatePaymentRequest.
1. getPaymentInputData request
Used get the list of supported crypto currencies and supported crypto wallets.
Example getPaymentInputDataList request:
<getPaymentInputDataListRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>B2BTestMerchant</merchantID>
<shopID>CryptoShopEURProviderTesting</shopID>
<user>
<id>3360d33c-b232-47c7-9e72-31addd</id>
<username />
<firstname xsi:nil="true" />
<lastname xsi:nil="true" />
<currencyCode xsi:nil="true" />
<languageCode xsi:nil="true" />
<email xsi:nil="true" />
<address xsi:nil="true" />
<identificationNumberType xsi:nil="true" />
<drivingLicenseNumber xsi:nil="true" />
<drivingLicenseIssuingState xsi:nil="true" />
</user>
<paymentMethodID>431</paymentMethodID>
<amount currencyCode="EUR">8.01</amount>
<details>
<data xsi:type="keyStringValuePair">
<key>CountryCode2</key>
<value>AT</value>
</data>
</details>
</getPaymentInputDataListRequest>
Example getPaymentInputDataList response:
<getPaymentInputDataListResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<paymentInputDataList>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>00000000-0000-0000-0000-000000000000</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Generic wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>95c2ac74-9d01-4d9b-bac6-0baa634ecd8b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Blockchain Wallet - android</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/blockchain.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>198bd890-ee30-473d-a93c-1d45c7c48f09</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Blockchain Wallet - ios</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/blockchain.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>00b01bed-8990-4b15-b7e3-5c0c2f8cd99a</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coinbase Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/coinbase.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>a9672517-bd3c-40b9-80e2-42eb16e1a9a4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Exodus Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/exodus.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>27846ac7-9f56-4b28-a524-dc5d6fd29a01</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>MetaMask</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/metamask.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>69b114c3-2aba-4275-9d26-975c74a0810c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Trezor</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/trezor.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c687c043-6dbc-446f-bc8e-e3e32a3e278c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Trust Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/trust.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>d53c24c8-3832-4d56-8c6d-aaa2ac975f0d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Abra Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>51b5843b-a00b-47bf-a26c-9386017f4ce6</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Atomic Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>8fcca48f-8769-423e-8b62-b761fea9d32d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Bitcoin.com Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>57263c60-286f-4632-aece-150deff3709b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Bitso</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>bea8a0c3-e7d9-4711-9d97-a4f5813f975d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>BRD Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>65cc12df-2cf5-4d20-ac4a-a82ec208d1a1</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>BTC.com Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>8f04d442-783f-4cff-95d7-dc77e596e68c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Cobo Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>842e01c3-7c46-4964-bf7c-6816939ea9d6</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coin Bitcoin Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>3155f3a8-2e4e-4b7e-954e-0c8cb3d35d7d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coinomi Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>2a8fd602-ae61-4592-89a2-e5e0723e8994</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Cryptonator</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c57e5a63-7375-4d5e-a3ed-3220a0448af3</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Edge Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>b8ef2200-7f31-45c7-a6ac-15f9f0456f76</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Electrum Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e74e3680-5a93-4091-95c1-2161972b8fb8</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Enjin Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>937d24dc-fdd2-47ca-9601-8689a736b076</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Freewallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>7f58ae39-e919-4746-a3ae-82d5d2dc95ce</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>imToken</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>f17d2aee-022b-4ac6-8c27-8a0eabc9bcc2</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Infinito Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>0c325614-89d0-45a4-b805-aed7ccc4f350</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Jaxx Liberty</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e344baf1-fceb-4f58-b310-bfc5c818a92c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Klever</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>981c47c0-9e6c-43a5-9a35-40de690f4ab5</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Lumi Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>9f904f3b-ad76-4ee3-b4cf-75a143c2f1e7</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Luno</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>31d884db-02c1-47eb-8565-7f3473c3c534</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Mycelium Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c69019e8-2dd7-4653-bb89-977a6be254fa</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Paxful</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>54c16028-e287-4de2-afe8-4c2ed5504609</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Samourai Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e109429e-a9f6-4616-8e71-89f7b3f3e5d9</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>ShapeShift</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value/>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC</value>
</data>
</paymentInputData>
</paymentInputDataList>
</getPaymentInputDataListResponse>
<getPaymentInputDataListResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<paymentInputDataList>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>00000000-0000-0000-0000-000000000000</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Generic wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>95c2ac74-9d01-4d9b-bac6-0baa634ecd8b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Blockchain Wallet - android</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/blockchain.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>198bd890-ee30-473d-a93c-1d45c7c48f09</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Blockchain Wallet - ios</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/blockchain.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>00b01bed-8990-4b15-b7e3-5c0c2f8cd99a</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coinbase Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/coinbase.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>a9672517-bd3c-40b9-80e2-42eb16e1a9a4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Exodus Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/exodus.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>27846ac7-9f56-4b28-a524-dc5d6fd29a01</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>MetaMask</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/metamask.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>69b114c3-2aba-4275-9d26-975c74a0810c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Trezor</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/trezor.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c687c043-6dbc-446f-bc8e-e3e32a3e278c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Trust Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value>https://sandbox.forumpay.com/images/wallets/trust.svg</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>d53c24c8-3832-4d56-8c6d-aaa2ac975f0d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Abra Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>51b5843b-a00b-47bf-a26c-9386017f4ce6</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Atomic Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>8fcca48f-8769-423e-8b62-b761fea9d32d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Bitcoin.com Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>57263c60-286f-4632-aece-150deff3709b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Bitso</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>bea8a0c3-e7d9-4711-9d97-a4f5813f975d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>BRD Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>65cc12df-2cf5-4d20-ac4a-a82ec208d1a1</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>BTC.com Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>8f04d442-783f-4cff-95d7-dc77e596e68c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Cobo Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>842e01c3-7c46-4964-bf7c-6816939ea9d6</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coin Bitcoin Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>3155f3a8-2e4e-4b7e-954e-0c8cb3d35d7d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Coinomi Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>2a8fd602-ae61-4592-89a2-e5e0723e8994</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Cryptonator</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c57e5a63-7375-4d5e-a3ed-3220a0448af3</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Edge Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>b8ef2200-7f31-45c7-a6ac-15f9f0456f76</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Electrum Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e74e3680-5a93-4091-95c1-2161972b8fb8</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Enjin Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>937d24dc-fdd2-47ca-9601-8689a736b076</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Freewallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>7f58ae39-e919-4746-a3ae-82d5d2dc95ce</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>imToken</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>f17d2aee-022b-4ac6-8c27-8a0eabc9bcc2</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Infinito Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>0c325614-89d0-45a4-b805-aed7ccc4f350</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Jaxx Liberty</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e344baf1-fceb-4f58-b310-bfc5c818a92c</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Klever</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>981c47c0-9e6c-43a5-9a35-40de690f4ab5</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Lumi Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>9f904f3b-ad76-4ee3-b4cf-75a143c2f1e7</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Luno</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>31d884db-02c1-47eb-8565-7f3473c3c534</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Mycelium Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>c69019e8-2dd7-4653-bb89-977a6be254fa</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Paxful</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>54c16028-e287-4de2-afe8-4c2ed5504609</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>Samourai Wallet</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
<paymentInputData>
<data xsi:type="keyStringValuePair">
<key>Id</key>
<value>e109429e-a9f6-4616-8e71-89f7b3f3e5d9</value>
</data>
<data xsi:type="keyStringValuePair">
<key>Name</key>
<value>ShapeShift</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ImageUrl</key>
<value></value>
</data>
<data xsi:type="keyStringValuePair">
<key>Currencies</key>
<value>BTC,ETH,LTC,BCH,USDT</value>
</data>
</paymentInputData>
</paymentInputDataList>
</getPaymentInputDataListResponse>
KeyStringValuePair | |
---|---|
ID | ID of the crypto wallet |
Name | Name of the crypto wallet |
ImageURL | ImageURL |
Currencies | Supported crypto currency or multiple supported crypto currencies |
The recieved crypto currencies and wallets need to be displayed to the customer for selection.
Furthermore the customer should be asked to provide his Reversal Address, in case this might be needed for returning the crypto later on due to technical reasons.
2. initiatePaymentRequest
Once the customer made his choice, the selected values need to be provided to PXP.
The following parameters have to be provided in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
CryptoCurrency (string) | The crypto currency to be used for the payment |
CryptoApplicationId (string) | The ID of the crypto wallet to be used for the payment |
CryptoReversalAddress (string) | An address to return funds if necessary |
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>ForumPayProviderTesting</merchantID>
<shopID>ForumPayProviderTesting_EUR</shopID>
<merchantTransactionID>OB-20220624-1305</merchantTransactionID>
<paymentMethodID>431</paymentMethodID>
<amount currencyCode="EUR">121.01</amount>
<userID>OB-20220624-1305</userID>
<userData>
<username>CryptoTestUser</username>
<gender>Male</gender>
</userData>
<userIP>89.144.223.120</userIP>
<userSessionID>39e48d00-b016-4dcd-8d3b-3f6f36dd3eec</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>CryptoCurrency</key>
<value>BTC</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CryptoApplicationId</key>
<value>a9672517-bd3c-40b9-80e2-42eb16e1a9a4</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CryptoReversalAddress</key>
<value>34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePayment response:
<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>ForumPayProviderTesting</merchantID>
<shopID>ForumPayProviderTesting_EUR</shopID>
<paymentMethod>
<key>431</key>
<value>Crypto Deposit</value>
</paymentMethod>
<merchantTransactionID>OB-20220624-1305</merchantTransactionID>
<paymentID>c84b0f26-405d-4e9e-83af-da5b2d24bc11</paymentID>
<userID>OB-20220624-1305</userID>
<paymentProvider>
<key>200</key>
<value>ForumPay</value>
</paymentProvider>
<amount currencyCode="EUR">121.01</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>89.144.223.120</userIP>
<state>
<id>ed72e91f-6659-496b-bc26-b1dffc810c89</id>
<definition>
<key>3</key>
<value>InitiatedByProvider</value>
</definition>
<createdOn>2022-06-24T11:06:22.4672504Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">121.01</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>CryptoCurrency</key>
<value>BTC</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CryptoApplicationId</key>
<value>a9672517-bd3c-40b9-80e2-42eb16e1a9a4</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CryptoReversalAddress</key>
<value>34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CryptoAddress</key>
<value>btc-1c4b59182ab14c7886a2ac25a3fea7f3</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>CryptoAmount</key>
<value>0.00609433</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>CryptoConfirmationIntervalInSeconds</key>
<value>5</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>CryptoExchangeRate</key>
<value>19856.1613</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>CryptoProcessingFeeAmount</key>
<value>0.00003315</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CryptoQRImg</key>
<value>https://api.forumpay.com/pay/qr/?d=https%3A%2F%2Fsandbox.forumpay.com%2FsandboxWallet.transfer%3Fcurrency%3DBTC%26address%3Dbtc-1c4b59182ab14c7886a2ac25a3fea7f3%26amount%3D0.00612748</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>CryptoQRImgAlt</key>
<value>https://api.forumpay.com/pay/qr/?d=https%3A%2F%2Fsandbox.forumpay.com%2FsandboxWallet.transfer%3Fcurrency%3DBTC%26address%3Dbtc-1c4b59182ab14c7886a2ac25a3fea7f3</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>CryptoTotalAmount</key>
<value>0.00612748</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>ExpirationIntervalInSeconds</key>
<value>900</value>
</detail>
<detail xsi:type="keyDecimalValuePair">
<key>FastTransactionFee</key>
<value>0.00014672</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>FastTransactionFeeCurrency</key>
<value>BTC/kB</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The payment can have one of the following states in the initiatePaymentResponse:
Payment State | Description |
---|---|
InitiatedByProvider | The payment has been initiated and payment data has been provided. |
InitiateRefusedByProvider | The payment has been refused by provider during the initiation of the payment. |
InitiateErrorReportedByProvider | An error has been returned by provider during the initiation of the payment. |
InitiateRequestProviderCommunicationErrorOccurred | A communication error occurred during the initiation of the payment with provider. |
The following parameters are being provided in initiatePaymentResponse.PaymentDetails:
key (value type, account type, required) | value |
---|---|
CryptoAddress | Address for the payment |
Crypto Currency | Selected Crypto currency |
CryptoApplicationId | Crypto Wallet ID |
CryptoReversalAddress | Crypto Reversal Address (for refund handling) |
CryptoAmount | Amount in Crypto currency |
CryptoConfirmationIntervalInSeconds | Expected time to confirm the payment |
CryptoExchangeRate | Exchange rate |
CryptoProcessingFeeAmount | Amount needed to transfer cryptocurrency from merchant to exchange |
CryptoQRImg | URL for QR code image download |
CryptoQRImgAlt | URL for alternative QR code image download |
CryptoTotalAmount | Total amount of payment |
ExpirationIntervalInSeconds | Expiration intervall in Seconds |
FastTransactionFee | Minimum TX fee/Gas price for fast transaction |
FastTransactionFeeCurrency | Currency for FastTransactionFee (e.g. BTC/byte, Gwei/Gas) |
The following states occur after InitiatedByProvider.
First the success state.
DepositedByProvider | Success state |
In case the payment is aborted by user or if a late payment or underpayment occurs, the payment is moved to AbortedByProvider.
AbortedOnProvider | The payment has been aborted by the user, or when no manual approval is enabled, the payment has been refunded on a late payment or an underpayment, Manual approval of late or under payment is currently not (yet) available. |
The following states are definite error states:
InitiateRequestProviderCommunicationErrorOccurred | A communication error occurred during the initiation of the payment with provider. |
InitiateErrorReportedByProvider | An error has been returned by provider during the initiation of the payment. |
InitiateRefusedByProvider | The payment has been refused by provider during the initiation of the payment. |
AbortCommunicationErrorOccurred | A communication error occurred during the refunding of the payment with provider. |
AbortErrorReportedByProvider | An error has been returned by provider upon refunding the payment. |
AbortRefusedByProvider | The refund has been refused by provider. |
The following states appear for unsuccess payments, but can be required or reconciled later on:
QueryPaymentStateCommunicationErrorOccurred | A communication error has occurred, while a payment was queried. A manual action to repeat the operation is available. |
QueryPaymentStateErrorReportedByProvider | An error was returned by provider, while a payment was queried. A manual action to repeat the operation is available. |
Special case handling
In the case of late payment and underpayment an automatic refund will be perform and the payment flow will be:
Case | Payment flow |
---|---|
In the case of late payment an automatic refund will be performed. | InitiatedByProvider > Expired > PendingOnConfirmation > AbortedOnProvider |
In the case of underpayment an automatic refund will be perform | InitiatedByProvider > PendingOnConfirmation > AbortedOnProvider |
In the case of overpayment the payment will be completed successfully, and on overpayment without auto-acceptance the overpayment amount will be refunded. A new payment of type PartialCancellation will be created. | InitiatedByProvider > DepositedByProvider |
Flow diagram
Updated almost 2 years ago