{"id":28596,"date":"2019-05-23T00:00:00","date_gmt":"2019-05-22T22:00:00","guid":{"rendered":"https:\/\/blexin.com\/?p=28596"},"modified":"2021-01-13T09:40:36","modified_gmt":"2021-01-13T08:40:36","slug":"braintree-per-i-pagamenti-nel-nostro-store","status":"publish","type":"post","link":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/","title":{"rendered":"Braintree per i pagamenti nel nostro store"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"28598\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/778137c7-6b15-41d1-9d90-0792971c3a26\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"778137c7-6b15-41d1-9d90-0792971c3a26\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=300%2C178&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-28598\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nel corso dello sviluppo di un e-commerce per un nostro cliente, abbiamo dovuto affrontare la gestione dei pagamenti, sia in termini di tipologie che di sicurezza, per cui abbiamo dovuto scegliere se implementare in maniera diversificata le diverse modalit\u00e0 (carta di credito\/debito, PayPal, etc.), o optare per un servizio di terze parti che gestisse in maniera integrata il processo di checkout.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cercando sul web abbiamo trovato&nbsp;<strong>Braintree<\/strong>, un servizio fornito da&nbsp;<strong>PayPal<\/strong>&nbsp;che offre scalabilit\u00e0, velocit\u00e0 e sicurezza nei pagamenti, un minore numero di click prima del checkout, ottimizzazione per siti web e mobile e che supporta, come metodi di pagamento, carte di credito e debito, PayPal, Apple Pay, Google Pay e tutti i principali digital wallets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Braintree mette a disposizione un ambiente\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/www.braintreepayments.com\/sandbox\" target=\"_blank\">sandbox<\/a>,\u00a0su cui possiamo iscriverci e ottenere le credenziali per utilizzare gratuitamente i servizi di test, come possiamo vedere nella immagine seguente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"739\" data-attachment-id=\"28600\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_sandbox_landing_page\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page.png?fit=1137%2C821&amp;ssl=1\" data-orig-size=\"1137,821\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_sandbox_landing_page\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page.png?fit=300%2C217&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page.png?fit=1024%2C739&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page.png?resize=1024%2C739&#038;ssl=1\" alt=\"\" class=\"wp-image-28600\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page-1024x739.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page-980x708.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_sandbox_landing_page-480x347.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Consultando la\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/developers.braintreepayments.com\/\" target=\"_blank\">documentazione per sviluppatori<\/a>, possiamo visualizzare il diagramma di flusso di Braintree:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"855\" height=\"529\" data-attachment-id=\"28603\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_flow_diagram\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram.png?fit=855%2C529&amp;ssl=1\" data-orig-size=\"855,529\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_flow_diagram\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram.png?fit=300%2C186&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram.png?fit=855%2C529&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram.png?resize=855%2C529&#038;ssl=1\" alt=\"\" class=\"wp-image-28603\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram.png 855w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_flow_diagram-480x297.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 855px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Vengono messe a disposizione due tipologie di SDK:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>SDK Client<\/strong>: per le applicazioni frontend che supporta i linguaggi JavaScript, Android e iOS e che consente di recuperare le informazioni di pagamento dagli utenti;<\/li><li><strong>SDK Server<\/strong>: per il backend, disponibile per .NET, Java, Ruby, Node.js, PHP e Python e che consente di effettuare azioni sulle informazioni di pagamento raccolte.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per utilizzare il client SDK \u00e8 naturalmente obbligatorio un processo di autorizzazione, di cui la modalit\u00e0 pi\u00f9 flessibile \u00e8 sicuramente il client token. Inoltre, entrambi gli SDK utilizzano i nonces per fare riferimento a informazioni di pagamento, in modo da evitare i replay-attack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sono disponibili, inoltre, esempi per tutti i linguaggi di programmazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nella nostra soluzione, l&#8217;applicazione frontend \u00e8 una web app Angular 6, su cui abbiamo utilizzato il modulo\u00a0<strong>ngx-braintree<\/strong>, un wrapper del JavaScript Client SDK, che abbiamo integrato nel progetto. Il modulo lato client crea una drop-ui tramite cui l&#8217;utente pu\u00f2 inserire i propri dati:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"266\" data-attachment-id=\"28605\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_dropui_firstpage\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage.png?fit=1035%2C269&amp;ssl=1\" data-orig-size=\"1035,269\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_dropui_firstpage\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage.png?fit=300%2C78&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage.png?fit=1024%2C266&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage.png?resize=1024%2C266&#038;ssl=1\" alt=\"\" class=\"wp-image-28605\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1024x266.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-980x255.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-480x125.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il modulo \u00e8 utilizzato nel component principale dell&#8217;app,\u00a0<strong>AppComponent<\/strong>, che si presenta cos\u00ec:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n@Component({\n\u00a0\u00a0selector: &quot;app-root&quot;,\n\u00a0\u00a0templateUrl: &quot;.\/app.component.html&quot;,\n\u00a0\u00a0styleUrls: &#x5B;&quot;.\/app.component.css&quot;]\n})\nexport class AppComponent {\n\u00a0\u00a0paymentResponse: any;\n\u00a0\u00a0chargeAmount = 11.11;\n\u00a0\n\u00a0\u00a0clientTokenURL =\u00a0 AppSettings.GET_CLIENT_TOKEN_URL;\n\u00a0\u00a0createPurchaseURL =\u00a0 AppSettings.CREATE_PURCHASE_URL;\n\u00a0\n\u00a0\u00a0onDropinLoaded(event) {\n\u00a0\u00a0\u00a0\u00a0console.log(&quot;dropin loaded...&quot;);\n\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0onPaymentStatus(response): void {\n\u00a0\u00a0\u00a0\u00a0this.paymentResponse = response;\n\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">dove abbiamo definito\u00a0<strong>chargeAmount<\/strong>\u00a0come importo della transazione (inserito staticamente per comodit\u00e0), e\u00a0<strong>clientTokenURL\u00a0<\/strong>e\u00a0<strong>createPurchaseURL<\/strong>, rispettivamente URL per la richiesta del token e per la creazione della transazione<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il codice html del componente \u00e8 invece:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">:\/p><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;ngx-braintree\n\u00a0\u00a0\u00a0\u00a0&#x5B;clientTokenURL]=&quot;clientTokenURL&quot; \n\u00a0\u00a0\u00a0\u00a0&#x5B;createPurchaseURL]=&quot;createPurchaseURL&quot; \n\u00a0\u00a0\u00a0\u00a0&#x5B;chargeAmount]=&quot;chargeAmount&quot;\n\u00a0\u00a0\u00a0\u00a0(paymentStatus)=&quot;onPaymentStatus($event)&quot;\n\u00a0\u00a0\u00a0\u00a0&#x5B;showCardholderName]=&quot;true&quot;\n\u00a0\u00a0\u00a0\u00a0(dropinLoaded)=&quot;onDropinLoaded($event)&quot;\n\u00a0\u00a0\u00a0\u00a0&#x5B;buttonText]=&quot;&#039;Buy&#039;&quot;\n\u00a0\u00a0\u00a0\u00a0&#x5B;enablePaypalCheckout] = &quot;true&quot;\n\u00a0\u00a0\u00a0\u00a0&#x5B;currency]=&quot;&#039;EUR&#039;&quot;\n\u00a0\u00a0\u00a0\u00a0&#x5B;allowChoose]=&quot;true&quot;&gt;\n&lt;\/ngx-braintree&gt;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">in cui viene dichiarato il modulo ngx-braintree e definiti gli attributi per un suo corretto funzionamento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel dettaglio, ci sono:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>clientTokenURL<\/strong>: URL del servizio per la richiesta del token relativo alla transazione (obbligatorio);<\/li><li><strong>createPurchaseURL<\/strong>:URL del servizio per la creazione della transazione (obbligatorio);<\/li><li><strong>chargeAmount<\/strong>:ammontare della transazione (obbligatorio);<\/li><li><strong>paymentStatus<\/strong>: evento scatenato quando il processo di pagamento si \u00e8 concluso (obbligatorio);<\/li><li><strong>buttonText<\/strong>:titolo del bottone di pagamento;<\/li><li><strong>allowChoose<\/strong>: definisce se l&#8217;utente pu\u00f2 scegliere una diversa modalit\u00e0 di pagamento dopo aver inserito gi\u00e0 i dati;<\/li><li><strong>showCardholderName<\/strong>: consente di visualizzare una casella di testo in cui inserire il nome del possessore della carta;<\/li><li><strong>enablePaypalCheckout<\/strong>: consente di pagare con l&#8217;account PayPal (per abilitarlo \u00e8 necessario collegare l&#8217;account Braintree a quello PayPal);<\/li><li><strong>currency<\/strong>: definisce la moneta con cui viene effettuato il pagamento (la lista delle monete disponibili \u00e8 presente&nbsp;<a href=\"https:\/\/developer.paypal.com\/docs\/api\/reference\/currency-codes\/\" rel=\"noreferrer noopener\" target=\"_blank\">qui<\/a>).<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per il progetto backend abbiamo bisogno di un controller Web Api, BraintreeController, con due metodi API:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&#x5B;HttpGet(&quot;getclienttoken&quot;)]\npublic IActionResult GetClientToken()\n{\n\u00a0\u00a0\u00a0\u00a0\/\/read Braintree configuration from appsettings.json\n\u00a0\u00a0\u00a0\u00a0var gateway = braintreeConfiguration.GetGateway();\n\u00a0\u00a0\u00a0\u00a0var clientToken = gateway.ClientToken.Generate();\n\u00a0\u00a0\u00a0\u00a0var clientTokenResponse = new ClientTokenResponse(clientToken);\n\u00a0\u00a0\u00a0\u00a0return new JsonResult(clientTokenResponse);\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">e<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&#x5B;HttpPost(&quot;createpurchase&quot;)]\npublic IActionResult CreatePurchase(&#x5B;FromBody]NonceRequest nonceRequest)\n{\n\u00a0\u00a0\u00a0\u00a0\/\/read Braintree configuration from appsettings.json\n\u00a0\u00a0\u00a0\u00a0var gateway = braintreeConfiguration.GetGateway();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0var request = new TransactionRequest\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Amount = nonceRequest.ChargeAmount,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0PaymentMethodNonce = nonceRequest.Nonce,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Options = new TransactionOptionsRequest\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SubmitForSettlement = true\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0};\n\u00a0\n\u00a0\u00a0\u00a0\u00a0Result&lt;Transaction&gt; result = gateway.Transaction.Sale(request);\n\u00a0\u00a0\u00a0\u00a0return new JsonResult(result);\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>GetClientToken<\/strong>&nbsp;: restituisce un token che identifica la transazione e a CreatePurchase vengono passate le informazioni del token e dell&#8217;importo totale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I DTO utilizzati per lo scambio di informazioni,\u00a0<strong>ClientTokenResponse e NonceRequest<\/strong>, sono definiti di seguito:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class ClientTokenResponse\n{\n\u00a0\u00a0\u00a0\u00a0public string Token { get; set; }\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public ClientTokenResponse(string token)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Token = token;\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class NonceRequest\n{\n\u00a0\u00a0\u00a0\u00a0public string Nonce { get; set; }\n\u00a0\u00a0\u00a0\u00a0public decimal ChargeAmount { get; set; }\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public NonceRequest(string nonce)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Nonce = nonce;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ChargeAmount = ChargeAmount;\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Per utilit\u00e0, abbiamo creato la classe\u00a0<strong>BraintreeConfiguration<\/strong>\u00a0che recupera le impostazioni dal file di configurazione e genera il gateway per accedere si servizi di Braintree. BraintreeConfiguration si presenta cos\u00ec:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class BraintreeConfiguration : IBraintreeConfiguration\n{\n\u00a0\u00a0\u00a0\u00a0public string Environment { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string MerchantId { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string PublicKey { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string PrivateKey { get; set; }\n\u00a0\u00a0\u00a0\u00a0private IBraintreeGateway BraintreeGateway { get; set; }\n\u00a0\u00a0\u00a0\u00a0private readonly IConfiguration _config;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public BraintreeConfiguration(IConfiguration config)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0_config = config;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public IBraintreeGateway CreateGateway()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Environment = GetConfigurationSetting(&quot;BraintreeEnvironment&quot;);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MerchantId = GetConfigurationSetting(&quot;BraintreeMerchantId&quot;);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0PublicKey = GetConfigurationSetting(&quot;BraintreePublicKey&quot;);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0PrivateKey = GetConfigurationSetting(&quot;BraintreePrivateKey&quot;);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return new BraintreeGateway(Environment, MerchantId, PublicKey, PrivateKey);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public string GetConfigurationSetting(string setting)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return _config.GetSection(&quot;AppSettings&quot;)&#x5B;setting];\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public IBraintreeGateway GetGateway()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (BraintreeGateway == null)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0BraintreeGateway = CreateGateway();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return BraintreeGateway;\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">I parametri di configurazione vengono recuperati dall&#8217;<strong>appsettings.json:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n{\n\u00a0\u00a0&quot;AppSettings&quot;: {\n\u00a0\u00a0\u00a0\u00a0&quot;BraintreeEnvironment&quot;: &quot;******&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;BraintreeMerchantId&quot;: &quot;******&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;BraintreePublicKey&quot;: &quot;******&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;BraintreePrivateKey&quot;: &quot;******&quot;\n\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Eseguendo i due progetti (per eventuali problemi di CORS su GoogleChrome, si consiglia l&#8217;utilizzo dell&#8217;estensione\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/chrome.google.com\/webstore\/detail\/allow-control-allow-origi\/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=it\" target=\"_blank\">Allow-Control-Allow-Origin:*<\/a>), otteniamo quindi una prima schermata in cui visualizziamo una drop-ui in cui scegliere la modalit\u00e0 di pagamento e inserire i nostri dati:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"266\" data-attachment-id=\"28610\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_dropui_firstpage-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1.png?fit=1035%2C269&amp;ssl=1\" data-orig-size=\"1035,269\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_dropui_firstpage-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1.png?fit=300%2C78&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1.png?fit=1024%2C266&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1.png?resize=1024%2C266&#038;ssl=1\" alt=\"\" class=\"wp-image-28610\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1-1024x266.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1-980x255.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_firstpage-1-480x125.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">da cui, cliccando su una delle voci della drop-ui, possiamo inserire i dati di pagamento:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" data-attachment-id=\"28612\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_dropui_insert_form\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form.png?fit=1035%2C501&amp;ssl=1\" data-orig-size=\"1035,501\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_dropui_insert_form\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form.png?fit=300%2C145&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form.png?fit=1024%2C496&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form.png?resize=1024%2C496&#038;ssl=1\" alt=\"\" class=\"wp-image-28612\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form-1024x496.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form-980x474.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_dropui_insert_form-480x232.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta cliccato su Buy, il sistema processa la transazione e, nel nostro caso, ci restituisce una schermata contenente il risultato:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"315\" data-attachment-id=\"28614\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_transaction_summary\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary.png?fit=1035%2C318&amp;ssl=1\" data-orig-size=\"1035,318\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_transaction_summary\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary.png?fit=300%2C92&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary.png?fit=1024%2C315&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary.png?resize=1024%2C315&#038;ssl=1\" alt=\"\" class=\"wp-image-28614\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary-1024x315.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary-980x301.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_transaction_summary-480x147.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nel dettaglio, il JSON restituito dall&#8217;API\u00a0<strong>CreatePurchase<\/strong>\u00a0all&#8217;applicazione frontend \u00e8 del seguente tipo:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n{\n\u00a0\u00a0&quot;target&quot;: {\n\u00a0\u00a0\u00a0\u00a0&quot;id&quot;: &quot;********&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;addOns&quot;: &#x5B;],\n\u00a0\u00a0\u00a0\u00a0&quot;amount&quot;: 11.11,\n\u00a0\u00a0\u00a0\u00a0\/\/&#x5B;...]\n\u00a0\u00a0\u00a0\u00a0&quot;createdAt&quot;: &quot;2019-05-21T05:55:36Z&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;creditCard&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;bin&quot;: &quot;411111&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;cardholderName&quot;: &quot;FirstName LastName&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;cardType&quot;: {},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;customerLocation&quot;: {},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;lastFour&quot;: &quot;1111&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/&#x5B;...]\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;expirationMonth&quot;: &quot;05&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;expirationYear&quot;: &quot;2025&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;imageUrl&quot;: &quot;https:\/\/assets.braintreegateway.com\/payment_method_logo\/visa.png?environment=sandbox&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;verification&quot;: null,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;expirationDate&quot;: &quot;05\/2025&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;maskedNumber&quot;: &quot;411111******1111&quot;\n\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0&quot;currencyIsoCode&quot;: &quot;EUR&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;cvvResponseCode&quot;: &quot;I&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;gatewayRejectionReason&quot;: {},\n\u00a0\u00a0\u00a0\u00a0&quot;merchantAccountId&quot;: &quot;prova&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;processorAuthorizationCode&quot;: &quot;******&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;processorResponseType&quot;: {},\n\u00a0\u00a0\u00a0\u00a0&quot;processorResponseCode&quot;: &quot;1000&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;processorResponseText&quot;: &quot;Approved&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;shippingAddress&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/&#x5B;...]\n\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0&quot;status&quot;: {},\n\u00a0\u00a0\u00a0\u00a0&quot;statusHistory&quot;: &#x5B;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;amount&quot;: 11.11,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;status&quot;: {},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;timestamp&quot;: &quot;2019-05-21T05:55:36Z&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;source&quot;: {},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;user&quot;: &quot;&quot;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\/\/&#x5B;...]\n\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0&quot;type&quot;: {},\n\u00a0\u00a0\u00a0\u00a0&quot;updatedAt&quot;: &quot;2019-05-21T05:55:37Z&quot;,\n\u00a0\u00a0\u00a0\u00a0\/\/&#x5B;...]\n\u00a0\u00a0\u00a0\u00a0&quot;networkTransactionId&quot;: &quot;********&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;authorizationExpiresAt&quot;: &quot;2019-05-28T05:55:36Z&quot;\n\u00a0\u00a0}\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Dal pannello di amministrazione di Braintree possiamo quindi visualizzare l&#8217;andamento dei nostri affari e una serie di interessanti statistiche.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"852\" height=\"706\" data-attachment-id=\"28617\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/attachment\/braintree_admin_main_panel\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel.png?fit=852%2C706&amp;ssl=1\" data-orig-size=\"852,706\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"braintree_admin_main_panel\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel.png?fit=300%2C249&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel.png?fit=852%2C706&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel.png?resize=852%2C706&#038;ssl=1\" alt=\"\" class=\"wp-image-28617\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel.png 852w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/braintree_admin_main_panel-480x398.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 852px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L&#8217;ultimo step, prima del passaggio in produzione, \u00e8 la registrazione come account business al seguente&nbsp;<a href=\"https:\/\/signups.braintreepayments.com\/\" rel=\"noreferrer noopener\" target=\"_blank\">link<\/a>, ottenere le nuove credenziali e sostituirle nel appsettings.json.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I costi del servizio business&nbsp;<strong>Braintree<\/strong>&nbsp;sono in linea con quelli di&nbsp;<strong>PayPal<\/strong>&nbsp;ma, all&#8217;occorrenza, \u00e8 possibile contattare il team di supporto per eventuali tariffe personalizzate in base al volume d&#8217;affari.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il codice citato in questo articolo \u00e8 disponibile su GitHub al seguente&nbsp;<a href=\"https:\/\/github.com\/enricobencivenga\/Braintree\" rel=\"noreferrer noopener\" target=\"_blank\">link<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alla prossima<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Integrare la gestione dei pagamenti in sicurezza nel nostro store con i principali provider grazie a Braintree<\/p>\n","protected":false},"author":196716247,"featured_media":28598,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[688637374],"tags":[688637387,688637414],"class_list":["post-28596","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-angular","tag-asp-net-core"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Braintree per i pagamenti nel nostro store - Blexin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Braintree per i pagamenti nel nostro store - Blexin\" \/>\n<meta property=\"og:description\" content=\"Integrare la gestione dei pagamenti in sicurezza nel nostro store con i principali provider grazie a Braintree\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-22T22:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-13T08:40:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Enrico Bencivenga\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Enrico Bencivenga\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\"},\"author\":{\"name\":\"Enrico Bencivenga\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194\"},\"headline\":\"Braintree per i pagamenti nel nostro store\",\"datePublished\":\"2019-05-22T22:00:00+00:00\",\"dateModified\":\"2021-01-13T08:40:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\"},\"wordCount\":787,\"image\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1\",\"keywords\":[\"Angular\",\"Asp.net core\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\",\"url\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\",\"name\":\"Braintree per i pagamenti nel nostro store - Blexin\",\"isPartOf\":{\"@id\":\"https:\/\/blexin.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2019-05-22T22:00:00+00:00\",\"dateModified\":\"2021-01-13T08:40:36+00:00\",\"author\":{\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194\"},\"breadcrumb\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blexin.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Braintree per i pagamenti nel nostro store\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blexin.com\/it\/#website\",\"url\":\"https:\/\/blexin.com\/it\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blexin.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194\",\"name\":\"Enrico Bencivenga\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g\",\"caption\":\"Enrico Bencivenga\"},\"url\":\"https:\/\/blexin.com\/it\/author\/enrico-bencivengablexin-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Braintree per i pagamenti nel nostro store - Blexin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/","og_locale":"it_IT","og_type":"article","og_title":"Braintree per i pagamenti nel nostro store - Blexin","og_description":"Integrare la gestione dei pagamenti in sicurezza nel nostro store con i principali provider grazie a Braintree","og_url":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/","og_site_name":"Blexin","article_published_time":"2019-05-22T22:00:00+00:00","article_modified_time":"2021-01-13T08:40:36+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","type":"image\/png"}],"author":"Enrico Bencivenga","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Enrico Bencivenga","Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/"},"author":{"name":"Enrico Bencivenga","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194"},"headline":"Braintree per i pagamenti nel nostro store","datePublished":"2019-05-22T22:00:00+00:00","dateModified":"2021-01-13T08:40:36+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/"},"wordCount":787,"image":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","keywords":["Angular","Asp.net core"],"articleSection":["Blog"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/","url":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/","name":"Braintree per i pagamenti nel nostro store - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","datePublished":"2019-05-22T22:00:00+00:00","dateModified":"2021-01-13T08:40:36+00:00","author":{"@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194"},"breadcrumb":{"@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/it\/blog\/braintree-per-i-pagamenti-nel-nostro-store\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Braintree per i pagamenti nel nostro store"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/it\/#website","url":"https:\/\/blexin.com\/it\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194","name":"Enrico Bencivenga","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g","caption":"Enrico Bencivenga"},"url":"https:\/\/blexin.com\/it\/author\/enrico-bencivengablexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/778137c7-6b15-41d1-9d90-0792971c3a26.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-7re","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/users\/196716247"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/comments?post=28596"}],"version-history":[{"count":8,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28596\/revisions"}],"predecessor-version":[{"id":28620,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28596\/revisions\/28620"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media\/28598"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media?parent=28596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/categories?post=28596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/tags?post=28596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}