Trustly Account Payout (TrustlyInstantBankWithdrawal)
Provider Trustly offers bank transfer withdrawal for various countries in Europe.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
363 | TrustlyInstantBankWithdrawal | WithdrawnByProvider |
Payment method interaction type: Sychronous execution (see Interaction Types).
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The merchant needs to pass the payment account ID received in the TrustlyInstantBankDeposit with active account notification.
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>Merchant</merchantID>
<shopID>Shop</shopID>
<merchantTransactionID>2d3700ac-8381-4f97-9bb5-5e2107f8cb49</merchantTransactionID>
<paymentMethodID>363</paymentMethodID>
<amount currencyCode="EUR">1.99</amount>
<userID>18109be0-b3c8-4482-bfc0-447d1b</userID>
<userData>
<username>18109be0-b3c8-4482-bfc0-447d1b</username>
<address>
<countryCode2>AT</countryCode2>
</address>
<dateOfBirth>1965-06-09T00:00:00</dateOfBirth>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>83392ab4-e15b-44ac-b59d-784145d2a188</userSessionID>
<creationTypeID>1</creationTypeID>
<paymentAccountID>60713af6-6a9a-40fc-ba3a-bbf7d31fab88</paymentAccountID>
</initiatePaymentRequest>
Example initiatePaymentRequest with userdata (required if the preceding payment was a Trustly Pay N Play registration):
<?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>Merchant</merchantID>
<shopID>Shop</shopID>
<merchantTransactionID>2d3700ac-8381-4f97-9bb5-5e2107f8cb49</merchantTransactionID>
<paymentMethodID>363</paymentMethodID>
<amount currencyCode="EUR">1.99</amount>
<userID>18109be0-b3c8-4482-bfc0-447d1b</userID>
<userData>
<username>Ninjauser123</username>
<firstname>ninja</firstname>
<lastname>user </lastname>
<address>
<street>Eggelstad 91</street>
<houseName>Eggelstad 91</houseName>
<postalCode>275 36</postalCode>
<city>Sjöbo</city>
<countryCode2>SE</countryCode2>
<telephoneNumber>1111111111</telephoneNumber>
</address>
<dateOfBirth>1962-05-12T00:00:00</dateOfBirth>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>83392ab4-e15b-44ac-b59d-784145d2a188</userSessionID>
<creationTypeID>1</creationTypeID>
<paymentAccountID>60713af6-6a9a-40fc-ba3a-bbf7d31fab88</paymentAccountID>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID></merchantID>
<shopID></shopID>
<paymentMethod>
<key>363</key>
<value>TrustlyInstantBankWithdrawal</value>
</paymentMethod>
<merchantTransactionID>a326c8cf-363b-4f8d-88f3-3f6317f6af1a</merchantTransactionID>
<paymentID>045dec62-1f74-4e01-a044-3815722a4fc6</paymentID>
<userID>94a2561b-5103-48ee-9274-0f322e</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">4.96</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>db47e586-708d-4594-9d4b-866c0eddad88</id>
<definition>
<key>240</key>
<value>ToBeWithdrawnByProvider</value>
</definition>
<createdOn>2020-08-10T12:02:47.9063643Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">4.96</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>48504808</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>217341</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>60713af6-6a9a-40fc-ba3a-bbf7d31fab88</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The payment can reach one of the following states in the initiatePaymentResponse:
Payment States | Description |
---|---|
ToBeWithdrawnByProvider | Payment to be withdrawn, payment should be updated to WithdrawnByProvider state within 2 minutes |
WithdrawErrorReportedByProvider | Error state; errors are logged in the PaymentStateAdditionalDetails fields ProviderErrorCode and ProviderErrorMessage |
WithdrawCommunicationErrorOccurred | Error state (in the event of a time out) |
InitiateErrorReportedByProvider | Error state; errors are logged in the PaymentStateAdditionalDetails fields ProviderErrorCode and ProviderErrorMessage |
InitiateRequestProviderCommunicationErrorOccurred | Error state (in the event of a time out) |
Example initiatePaymentResponse WithdrawErrorReportedByProvider:
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>TrustlyInstantBankWithdrawalShop</shopID>
<paymentMethod>
<key>363</key>
<value>TrustlyInstantBankWithdrawal</value>
</paymentMethod>
<merchantTransactionID>d0a26339-48b1-4395-abfd-a5a6a845ce24</merchantTransactionID>
<paymentID>48cefe71-13a0-426a-83c1-22a6e1a6ca90</paymentID>
<userID>1ad71be4-8f36-4368-8187-35bd45</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">6.0200</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>33e48c70-d40b-4641-8375-3ded54007945</id>
<definition>
<key>21</key>
<value>WithdrawErrorReportedByProvider</value>
</definition>
<createdOn>2021-09-27T07:35:35.977</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorMessage</key>
<value>Refused (602)</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorCode</key>
<value>602</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">6.0200</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>271596</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>41278730</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>d9ee74d4-cc03-4e77-928c-453dcb5af69c</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Example initiatePaymentResponse WithdrawCommunicationErrorOccurred:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>XXXXXXXX</merchantID>
<shopID>XXXXXXXX</shopID>
<paymentMethod>
<key>363</key>
<value>TrustlyInstantBankWithdrawal</value>
</paymentMethod>
<merchantTransactionID>dbb6f61d-0161-47ba-b4fc-63ec21a81d84</merchantTransactionID>
<paymentID>d72bd96f-cb60-4544-b518-219c0d638478</paymentID>
<userID>b4701958-feeb-4b29-934a-434287</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">5.95</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>e4947bc0-7405-4199-95c1-11f941d2e937</id>
<definition>
<key>576</key>
<value>WithdrawCommunicationErrorOccurred</value>
</definition>
<createdOn>2021-09-14T07:39:57.4514676Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">5.95</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>78628772</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>269644</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>1039b115-4320-46ec-ac3b-0da1230fd867</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentResponse InitiateErrorReportedByProvider:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>XXXXXXXX</merchantID>
<shopID>XXXXXXXX</shopID>
<paymentMethod>
<key>363</key>
<value>TrustlyInstantBankWithdrawal</value>
</paymentMethod>
<merchantTransactionID>261e38df-0d73-4aff-a855-a6c157f2a033</merchantTransactionID>
<paymentID>2d9f4ce7-3880-4d16-bc2b-c2e31afe2461</paymentID>
<userID>627f9eea-cca7-486c-893e-803833</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">99</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>1f30e6a5-02cd-40d3-b118-ea7205ddcae7</id>
<definition>
<key>4</key>
<value>InitiateErrorReportedByProvider</value>
</definition>
<createdOn>2021-09-14T07:39:50.4826655Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorMessage</key>
<value>Refused (602)</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderErrorCode</key>
<value>602</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">99</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>269642</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>4cdc4f38-8e69-47ab-b7d3-43e544b1b7c3</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Example initiatePaymentResponse InitiateRequestProviderCommunicationErrorOccurred:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>XXXXXXXX</merchantID>
<shopID>XXXXXXXX</shopID>
<paymentMethod>
<key>363</key>
<value>TrustlyInstantBankWithdrawal</value>
</paymentMethod>
<merchantTransactionID>3e524de9-87e2-4edc-b3d0-1fb02225a014</merchantTransactionID>
<paymentID>f18a7a9e-57c5-44cf-90f9-9abc7946f789</paymentID>
<userID>53c6e707-b677-4ac5-824e-18b0cb</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">666</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>f5ce2f3e-6359-4073-80a5-dbaa119cb369</id>
<definition>
<key>325</key>
<value>InitiateRequestProviderCommunicationErrorOccurred</value>
</definition>
<createdOn>2021-09-14T07:39:47.7638887Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">666</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>269641</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>34da1ec4-73ff-44fa-a3e8-cc6b65631fde</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
The following states are returned in handlePaymentStateChangedNotification:
Payment States | Description |
---|---|
WithdrawnByProvider | Success state This state is reached 2 minutes after the state ToBeWithdrawnByProvider |
RefusedByProvider | Error state; errors are logged in the PaymentStateAdditionalDetails field ProviderReturnCode |
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:
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>TrustlyBankTransferWithdrawalShop</shopID>
<paymentMethod>
<key>24</key>
<value>BankTransferWithdrawal</value>
</paymentMethod>
<merchantTransactionID>e6673f4c-f550-425e-8399-edc46ec1ba77</merchantTransactionID>
<paymentID>baf68a49-5f20-464d-9f91-8750b0b48e72</paymentID>
<userID>552b14e0-cd15-4a38-be91-d7e74b</userID>
<paymentProvider>
<key>114</key>
<value>Trustly</value>
</paymentProvider>
<amount currencyCode="EUR">10.0000</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>b5902473-1d55-42d7-bb3e-3e409651d19d</id>
<definition>
<key>20</key>
<value>WithdrawnByProvider</value>
</definition>
<createdOn>2017-07-14T13:16:03.54</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderReturnCode</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10.0000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>70571</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserFirstname</key>
<value>Patrick</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UserLastname</key>
<value>Fitzgerald</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>2422610363BDD</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>7d431c69-101b-41e4-a53c-df67e296aaf7</paymentAccountID>
<details>
<detail xsi:type="keyStringValuePair">
<key>TrustlyPaymentAccountToken</key>
<value>3bfb7131-2431-438c-8bca-39a73753cd7d</value>
</detail>
</details>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Updated almost 3 years ago