Pay By Bank Payment

Endpoint: POST /v2/moneyins/paybybank/transfer/init

To view the diagram copy and paste the code on the following site:

https://sequencediagram.org/


title Pay By Bank

participant Customer
participant Partner
participant Lemonway_API_Public
participant Lemonway_Webkit (Webkit PHP)
participant Lemonway_API_Private (Webkit Webservice)
participant PISP
participant Banks

Partner->Lemonway_API_Public:**NEW CALL GetBankList or GET/Moneyins/transfers/**\n\nOptional : ListCountryCode
Lemonway_API_Public->PISP:GET /api/v1/providers/{market}\n\n\n
PISP->Lemonway_API_Public:{\n  ...,\n  "name": "se-bink-thirdpartyapp",\n  ...\n}
Lemonway_API_Public->Partner:**OUTPUTS**\n\n{\n   CountryCode : FR,\n     ParentName : BNP,\n        BankName : BNP Paribas Privée,\n        logoURL : https://web.bankin.com/img/banks-logo/350_bnp.png,\n        BankId : se-bink-thirdpartyapp,\n<color:#red>Filtre pro ?</color>\n}
Customer->Partner:Selects Pay by Bank & chooses his bank on the partner's page.\nIf he can't find his bank, the partner shows him an option (VIBAN/classic transfer)
Partner->Lemonway_API_Public:**NEW CALL MoneyInPayByBank or POST/v2/moneyins/transfer/PayByBank**\n\n{\n  AccountId,\n  amount,\n  returnUrl: "http://1000mercis.fr"\n  cancelUrl: "http://1000mercis.fr"\n  errorUrl: "http://1000mercis.fr"\n  comment, <color:#red>>> 35 characters as for moneyouts ?</color>\n  CountryCode,\n  BankId, (example: se-bink-thirdpartyapp)\n}
Lemonway_API_Public->Lemonway_API_Public:Check lists \n<color:#red>>> could we have the full list ? ?</color>\n- if the account is blocked\n- threshold\n- Create a new error message : Incorrect BankId
Lemonway_API_Public->Lemonway_API_Public:Create pending transaction id = 1234
Partner<-Lemonway_API_Public:http://webkit-url/?MoneyInToken=Webkit token
Customer<-Partner:url\n
Customer->Lemonway_Webkit (Webkit PHP):http://webkit-url/?MoneyInToken=Webkit token
Lemonway_Webkit (Webkit PHP)->Lemonway_API_Private (Webkit Webservice):BuildPaymentTransferForm
Lemonway_API_Private (Webkit Webservice)->PISP:**PAYMENT REQUEST**\n\n{\n  "amount": 10,\n  "currency": "SEK", <color:#red>>> devise compte acquéreur </color> >> errors if no bank account attached to environment + currency not supported by TINK\n  "destinations": [\n    {\n      "accountNumber": "4578-3748", >> Lemonway\n      "type": "se-pg" >>iban\n    }\n  ],\n  "executionDate": "2019-11-20",\n  "market": "SE",  >> mandatory, if we provide input_provider ?\n  "paymentScheme": "SEPA_CREDIT_TRANSFER",\n  "recipientName": "Test AB", >> Lemonway\n  "remittanceInformation": {\n    "type": "OCR", <color:#red>>> check with Tink</color>\n    "value": "3245928392092" >> SolutionId.TransId + Partner Comment >> nb of guaranteed characters ?\n  },\n  "sourceMessage": "Payment for Gym Equipment" >> Only for Sweden, leave empty\n}
Lemonway_API_Private (Webkit Webservice)<-PISP:**PAYMENT RESPONSE**\n\n{\n  "id": "18408f41163f4748b87da9b9a68b6df8",\n  ...\n}
Lemonway_API_Private (Webkit Webservice)->Lemonway_API_Private (Webkit Webservice):Set real_ref of 1234 to tink transaction id: 18408f41163f4748b87da9b9a68b6df8
Lemonway_API_Private (Webkit Webservice)->Lemonway_Webkit (Webkit PHP):**RESPONSE**\n\n     action = https://link.tink.com/1.0/pay/\n     method = GET \n     content = {client_id: {YOUR_CLIENT_ID}, \n               redirect_uri: http://LEMONWAY_WEBKIT_URL/payline/1234, \n               market: {MARKET},\n               input_provider: se-bink-thirdpartyapp, (optional)\n               payment_request_id: 18408f41163f4748b87da9b9a68b6df8
Partner->PISP:https://link.tink.com/1.0/pay/?client_id={YOUR_CLIENT_ID}&redirect_uri=http://LEMONWAY_WEBKIT_URL/webhook/paybybank&scope=user:read,credentials:read&market={MARKET}&locale=en_GB&input_provider=se-bink-thirdpartyapp, &payment_request_id=18408f41163f4748b87da9b9a68b6df8
PISP->Banks:Payer is redirected to his bank
Lemonway_Webkit (Webkit PHP)<-PISP:http://LEMONWAY_WEBKIT_URL/webhook/paybybank?payment_request_id=18408f41163f4748b87da9b9a68b6df8
Lemonway_Webkit (Webkit PHP)->Lemonway_API_Private (Webkit Webservice):Confirm transaction received\nWebhookHandle (leave transaction in pending)
Lemonway_API_Private (Webkit Webservice)->PISP:** Check payment status **\n\nhttps://api.tink.com/api/v1/payments/requests/18408f41163f4748b87da9b9a68b6df8/transfers \\n   -H 'Authorization: Bearer {YOUR_CLIENT_ACCESS_TOKEN}' \\n   -H 'Content-Type: application/json'
Lemonway_API_Private (Webkit Webservice)<-PISP:{\n  "paymentRequestCreatedTransfers": [\n    {\n       ...\n       "status": "SENT", // CANCELLED / FAILED\n       "statusMessage": "Payment is sent to your bank",\n       ...\n    },\n    {\n       ...\n    }\n  ]\n}
Lemonway_API_Private (Webkit Webservice)->Lemonway_API_Private (Webkit Webservice):Update status of 1234 cancelled or refused if tink is status is cancelled or failed
Lemonway_Webkit (Webkit PHP)<-Lemonway_API_Private (Webkit Webservice):WebPaymentForm { \n  action url: returnUrl or cancelUrl or errorUrl \n  method: GET \n}\n\n
Partner<-Lemonway_Webkit (Webkit PHP):Redirect to action url