Installation Guide - Payment Transfer

 

  • Login to your Salesforce org where the package is installed.

  • Check for Lookup between Plaid Payment and Source object. If there is no lookup, create a lookup relationship between them.

  • Create a Button named as Initiate Payment on Supplier Invoice(Source object).

    • Action Type:- Lightning Component

    • Height:- 450px

    • Lightning Component: PaymentTransferAura

    • Label: Initiate Payment

  • Add the Button to Source Object(Supplier Invoice) Page Layout

  • Add Related List Secure EmailMessages to the Source Object(Supplier Invoice) Page Layout.

Creating a Salesforce Site

  • Click on the gear icon and go to setup.

  • In the quick find box search for sites.

  • Click New

  • Provide the required information(Label, Name, etc.)

  • In Active Site Home Page Lookup field Add VerifyBankConnect Visual force page.

  • Click Save.

Apex Class and Object Permission Assignment to Site Guest User.

  • In Global search, Search for Site Guest User.

  • Click on the site name which we have created just now.

  • Click on the profile.

  • Now provide access to Apex classes

  • Go to Site Guest User profile again and click on Apex class Access.

  • Provide Access to below classes.

    • bankconnect.InvocablePaymentInitiationProcess

    • bankconnect.PaymentTransferController

    • bankconnect.WSPaymentServices

  • Add Plaid Credentials

    • Search for Custom Settings in Quick Find Box Under Setup

    • Go to Plaid Credentials

    • Click on Edit and Add Credentials as below:-

Email Template.

  • Please find the Email Template Code in below Section.

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- saved from url=(0046)file:///Users/leo/Desktop/Sample_Template.html --> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" lang="EN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!--[if gte mso 15]> <xml> <o:OfficeDocumentSettings> <o:AllowPNG/> <o:PixelsPerInch>96</o:PixelsPerInch> </o:OfficeDocumentSettings> </xml> <style type="text/css"> body,table tr,table td,a, span,table.MsoNormalTable { font-family:'Open Sans', Helvetica, sans-serif !important; }</style> <![endif]--> <title> </title> <meta name="x-apple-disable-message-reformatting"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0 "> <link href="./Sample_Template_files/css" rel="stylesheet"> <meta name="format-detection" content="telephone=no"> <style type="text/css"> .ReadMsgBody { width: 100%; background-color: #ffffff; } .ExternalClass { width: 100%; background-color: #ffffff; } .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } html { width: 100%; } table { border-spacing: 0; border-collapse: collapse; mso-table-lspace: 0px; mso-table-rspace: 0px; margin:0 auto; } table table table { table-layout: auto; } img { display: block !important; over-flow: hidden !important; border: 0 !important;outline: none !important;} body {-ms-text-size-adjust: none; margin: 0 auto !important; padding: 0 !important; -webkit-text-size-adjust: 100% !important; -ms-text-size-adjust: 100% !important; -webkit-font-smoothing: antialiased !important; } #MessageViewBody, #MessageWebViewDiv{ width: 100% !important; min-width:100vw; margin:0 !important; zoom:1 !important; } p { margin: 0px !important; padding: 0px !important; } td, a, span { border-collapse: collapse; mso-line-height-rule: exactly; } .ExternalClass * { line-height: 100%; } @media only screen and (max-width:600px) { .em_main_table { width: 100% !important; } .em_wrapper { width: 100% !important; max-width: 100% !important; } .em_hide { display: none !important; } .em_align_center { text-align: center !important; } .em_pad_top { padding-top: 20px !important; } .em_side_space { padding-left: 20px !important; padding-right: 20px !important; } .em_bg_center { background-position: center !important; } .em_full_width { width: 100% !important; height: auto !important; max-width: 100% !important; } .em_pad_btm { padding-bottom: 28px !important; } u + .em_body .em_full_wrap { width: 100% !important; width: 100vw !important; } } </style> </head> <body class="em_body" style="min-width: 100%; background-color:#fbfbfb;margin:0 auto !important;padding:0;"> <!--Full width table start--> <table class="em_full_wrap" width="100%" border="0" cellspacing="0" cellpadding="0" align="center" style="background-color:#fbfbfb;"> <tbody><tr> <td align="center" valign="top" style="padding:10px;"><table align="center" class="em_main_table" width="600" border="0" cellspacing="0" cellpadding="0" style="table-layout:fixed;"> <tbody><tr> <td class="em_hide" style="line-height:1px;min-width:600px;" bgcolor="#ffffff"><img src="./Sample_Template_files/spacer.gif" height="1" width="600" style="max-height:1px; min-height:1px; display:block; width:600px; min-width:600px;" border="0"></td> </tr> <!-- ===== PRE-HEADER SECTION ===== --> <tr> <td><table bgcolor="#fbfbfb" width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td width="30" class="em_hide">&nbsp;</td> <td valign="top" class="em_side_space"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td height="15" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_grey_txt" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:14px;text-align:center;padding-left:0px;padding-right:0px;color:#808080;line-height:24px;font-weight:300;"> <a style="color:#808080;text-decoration:none;" href="file:///Users/leo/Desktop/*%7CARCHIVE%7C*"> View Email in Browser</a> </td> </tr> <tr> <td height="15" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> </tbody></table></td> <td width="30" class="em_hide">&nbsp;</td> </tr> </tbody></table></td> </tr> <tr> <td bgcolor="#ffffff" style="background-color:#ffffff;border-radius:5px;box-shadow:1px 1px 10px 1px #dddddd;"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td height="25" style="line-height:10px;">&nbsp;</td> </tr> <tr> <td><table width="300" border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td><a target="_blank" style="color:#80BB01;text-decoration:none;" href="https://cloudmaveninc.com/"><img alt="logo" src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapl&operationContext=DELIVERY&contentId=05T3j00000TnBQJ&page=0&d=/a/3j000000M0QJ/lkGM6VWNf5vBmiUErnnyShnQwyB8cgVrBZkeTmmTt0c&oid=00D3j000000i85o&dpt=null&viewId=" width="300" height="44" style="max-width:300px;"></a></td> </tr> </tbody></table></td> </tr> <tr> <td height="20" style="line-height:10px;">&nbsp;</td> </tr> </tbody></table></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td background="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Jpg&versionId=0683j000008Eaph&operationContext=DELIVERY&contentId=05T3j00000TnBPu&page=0&d=/a/3j000000M0QY/0b4qYZuV3dl7kAUs4fCe2vQd0z.aLPhzEl81tOuxRZc&oid=00D3j000000i85o&dpt=null&viewId=" align="center" valign="top" style="background:url(&#39;https://i.imgur.com/MZL8kQO.jpg&#39;);background-color: #004F95;-webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;background-position: top center;" class="em_bg_center"><!--[if gte mso 9]> <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:200px;"> <v:fill type="tile" src="https://i.imgur.com/MZL8kQO.jpg" color="#ffffff" /> <v:textbox inset="0,0,0,0"> <![endif]--> <table width="90%" align="center" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td height="50" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_dark_grey_txt" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:27px;text-align:center;text-transform:none;color:#ffffff;letter-spacing:0px;font-weight:300;"> Payment Approval Required </td> </tr> <tr> <td height="10" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_grey_txt" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:14px;text-align:center;padding-left:0px;padding-right:0px;color:#ffffff;line-height:24px;font-weight:400;letter-spacing: 2px;"> {!bankconnect__Plaid_Payment__c.CreatedDate} </td> </tr> <tr> <td height="50" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> </tbody></table> <!--[if gte mso 9]> </v:textbox> </v:rect> <![endif]--></td> </tr> </tbody></table></td> </tr> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td width="40" class="em_hide">&nbsp;</td> <td valign="top" class="em_side_space"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td height="40" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_grey_txt" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:16px;text-align:left;padding-left:0px;padding-right:0px;color:#333333;line-height:24px;font-weight:300;"> Hello {!bankconnect__Plaid_Payment__c.bankconnect__Source_Account_Holder_Name__c}, <br><br> <p style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:18px;text-align:center;padding-left:0px;padding-right:0px;color:#0e6b0e;line-height:24px;font-weight:700;">You have a payment to Approve!!</p><br/> Please Click the Below Link to verify the Payment and Approve.<br> <br> </td> </tr> <tr> <td height="30" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td><table width="160" border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td valign="middle" bgcolor="#003791" height="45" style="padding-left: 10px;padding-right: 10px;font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:14px;text-align:center;border-radius:5px;color:#ffffff;letter-spacing:1px;text-transform:uppercase;font-weight:300;"> <a href="https://evomunio--banksb4.sandbox.my.salesforce-sites.com/bankconnect/?bankconnect__paymentId={!bankconnect__Plaid_Payment__c.bankconnect__Encrypted_Payment_Record_Id__c}" target="_blank" style="text-decoration:none;color:#ffffff;display:block;line-height:45px;"> Verify Payment </a> </td> </tr> </tbody></table></td> </tr> <tr> <td height="30" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_grey_txt" style="font-style:italic;font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:16px;text-align:left;padding-left:0px;padding-right:0px;color:#333333;line-height:24px;font-weight:300;"> </td> </tr> <tr> <td height="50" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> </tbody></table></td> <td width="40" class="em_hide">&nbsp;</td> </tr> </tbody></table></td> </tr> <tr> <td bgcolor="#003791" style="background-color:#003791;border-radius:0px 0px 5px 5px; "><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td height="30" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td width="30" class="em_hide">&nbsp;</td> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td><table width="290" border="0" cellspacing="0" cellpadding="0" align="left" class="em_wrapper"> <tbody><tr> <td><table width="290" border="0" cellspacing="0" cellpadding="0" align="center" class="em_wrapper"> <tbody><tr> <td class="em_align_center" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:14px;text-align:left;padding-left:0px;padding-right:0px;color:#ffffff;line-height:24px;font-weight:300;"> <span style="font-weight:700;">CONTACT US</span> </td> </tr> <tr> <td height="5" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" align="left" class="em_wrapper"> <tbody><tr> </tr><tr> <td> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td width="12" style="padding-right:2px; "> <img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapi&operationContext=DELIVERY&contentId=05T3j00000TnBPz&page=0&d=/a/3j000000M0QT/YBWS_xMsiOYPQjFfZ9inGowzC4To4ckFjSOcEs40QDc&oid=00D3j000000i85o&dpt=null&viewId=" alt="ico" width="11" height="9" style="display:block;border:none; max-width:11px;" border="0"> </td> <td style="padding-left:3px;font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:12px;text-align:left;color:#ffffff;line-height:20px;font-weight:300;"> <a target="_blank" style="color:#ffffff;text-decoration:none;" href="tel:++1(646) 604-9857">+16466049857</a> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> <tr> <td style="padding-top:1px;"> <table border="0" cellspacing="0" cellpadding="0" align="left" class="em_wrapper"> <tbody><tr> <td> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td width="12" style="padding-right:2px; "> <img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapn&operationContext=DELIVERY&contentId=05T3j00000TnBQO&page=0&d=/a/3j000000M0QE/0kzi_Plttg4VtM_LyppTuFZHeJeeY2IukNONwwM.ZaI&oid=00D3j000000i85o&dpt=null&viewId=" alt="ico" width="11" height="9" style="display:block;border:none; max-width:11px;" border="0"> </td> <td style="padding-left:3px;font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:12px;text-align:left;color:#ffffff;line-height:20px;font-weight:300;"> <a target="_blank" style="color:#ffffff;text-decoration:none;" href="mailto:solutions@cloudmaveninc.com"> solutions@cloudmaveninc.com</a> </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> <tr> <td style="padding-top:1px;"> <table border="0" cellspacing="0" cellpadding="0" align="left" class="em_wrapper"> <tbody><tr> <td> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td valign="top" width="12" style="padding-top:3px; "> <img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapd&operationContext=DELIVERY&contentId=05T3j00000TnBPp&page=0&d=/a/3j000000M0QM/8LVO1OUYSliIEQFTDqBDGHFFNbCDV9W7NyiuELcb_xg&oid=00D3j000000i85o&dpt=null&viewId=" alt="ico" width="12" height="14" style="display:block;border:none; max-width:12px;" border="0"> </td> <td valign="top" style="padding-left:3px;font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:12px;text-align:left;color:#ffffff;line-height:20px;font-weight:300;"> 747 Third Avenue, 2nd Floor New York, NY 10017 </td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> </tbody></table></td> </tr> </tbody></table> <table width="250" border="0" cellspacing="0" cellpadding="0" align="right" class="em_wrapper"> <tbody><tr> <td class="em_pad_top"><table width="250" border="0" cellspacing="0" cellpadding="0" align="center"> <tbody><tr> <td height="5" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td><table width="160" class="em_wrapper" align="right" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td> <table align="center" width="160" border="0" cellpadding="0" cellspacing="0"> <tbody><tr> <td width="40" height="40"><a href="https://www.linkedin.com/company/cloud-maven-inc/" class="modimg" style="color:#7B9C4D;"><img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapc&operationContext=DELIVERY&contentId=05T3j00000TnBPk&page=0&d=/a/3j000000M0QZ/otK1QNePsjyoYIdBjBQu3SyuAu.PU9XgOcqXbfvVSq0&oid=00D3j000000i85o&dpt=null&viewId=" width="40" height="40" style="max-width:40px;display:block; border: none;" border="0" alt="fb"></a></td> <td width="20"></td> <td width="40" height="40"><a href="https://twitter.com/CloudMavenInc" class="modimg" style="color:#7B9C4D;"><img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapj&operationContext=DELIVERY&contentId=05T3j00000TnBQ4&page=0&d=/a/3j000000M0QO/_kbdsH0ZJ5YcNYoXqxcMGFaIfNvaleTAQqYYxNgxkaY&oid=00D3j000000i85o&dpt=null&viewId=" width="40" height="40" style="max-width:40px;display:block; border: none;" border="0" alt="tw"></a></td> <td width="20"></td> <td width="40" height="40"><a href="https://www.youtube.com/channel/UCoVpK_sfgozJln5JHPV4f7Q" class="modimg" style="color:#7B9C4D;"><img src="https://bankconnectpackaging-dev-ed--c.documentforce.com/sfc/dist/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0683j000008Eapk&operationContext=DELIVERY&contentId=05T3j00000TnBQE&page=0&d=/a/3j000000M0QK/oZ_xrzzObd70lRT.P1CsPAefK3mIqmqMHaKgHpv0JVA&oid=00D3j000000i85o&dpt=null&viewId=" width="40" height="40" style="max-width:40px;display:block; border: none;" border="0" alt="g+"></a></td> </tr> </tbody></table> </td> </tr> </tbody></table></td> </tr> <tr> <td height="22" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> <tr> <td class="em_align_center" style="font-family:&#39;Open Sans&#39;, Arial, sans-serif;font-size:12px;text-align:right;padding-left:0px;padding-right:0px;color:#ffffff;line-height:24px;font-weight:300;"> Copyright © 2020. Cloud Maven, Inc. </td> </tr> </tbody></table></td> </tr> </tbody></table></td> </tr> <tr> <td height="30" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> </tbody></table></td> <td width="30" class="em_hide">&nbsp;</td> </tr> </tbody></table></td> </tr> </tbody></table></td> </tr> </tbody></table> </td> </tr> <tr> <td height="20" style="line-height:1px;font-size:1px;">&nbsp;</td> </tr> </tbody></table></td> </tr> </tbody></table> <!--Full width table End--> <div style="display:none; white-space:nowrap; font:20px courier; color:#ffffff; background-color:#ffffff;">- - - - - - - - - - - - - - - - - - - - - - -</div> </body></html>
  • Copy the URL of the site.

  • Paste the URL in line 248 till http://force.com

  • From setup search for Email Templates.

  • Click on Classic Email Templates

  • Create New.

  • Select Custom(without using Classic Letterhead) option.

  • Click Next.

  • Populate the Fields.

    • Folder - Choose any folder in which you want to store your template.

    • Available for use - True.

    • Email Template Name - Plaid Payment Email Template(You can populate this field with your desired name)

    • Subject - Approve Payment.

  • Paste the Email Template code in which we have made the changes.

  • Click Save.

Enter Template Name in Custom Setting

  • Search for Custom Settings in Quick Find Box Under Setup

  • Go to Plaid Common Setting

  • Add the name of the Email Template you created as value in payment_email_template setting.

Write a Flow to Update Lookup and Start Payment Processing

  • Click on New Flow.

  • Select Record Triggered Flow.

  • Click on Free form.

  • Select Plaid Payment object.

  • Set Entry Condition as below:-

    • Start Payment Processing Equals True

  • Drag Update Record Element from the Left-side list of Elements and set Filter Conditions as below:-

    • Parent Record Id is not Null and,

    • Parent Record Id satrts with aCF(First 3 digit of Record Id of Source Object)

  • Set the value of Lookup Field as below:-

  • Drag Action Element from the Left-side list of Elements and call the Apex Class bankconnect_InvocablePaymentInitiationProcess Class as shown below:-

Congratulations! You have successfully installed Payment Transfer Application.