Answers.Body: <p>@yurg I worked on this a bit more today, and I have something working.</p>
  <p>There are a number of criteria that must be met for the Venmo button to appear.  We must a) not be using recurring payments, b) not trying to save the card to a PayPal &quot;vault&quot;, c) we must specifically request Venmo.</p>
  <ul>
  <li>When we have a <code>createBillingAgreement()</code> function, PayPal assumes this is recurring, and disables Venmo. So I changed that to <code>createOrder()</code>.</li>
  <li>I removed <code>vault=true</code> from the URL so it knows we're not trying to save the card.</li>
  <li>I added <code>enable-funding=venmo</code>.</li>
  </ul>
  <p>My diff is below. Please test and let me know if it's working for you!</p>
  <pre><code>diff --git a/Metadata/js/omnipay_PaypalRest.js b/Metadata/js/omnipay_PaypalRest.js
  index bf784ac13..6aa608ca5 100644
  --- a/Metadata/js/omnipay_PaypalRest.js
  +++ b/Metadata/js/omnipay_PaypalRest.js
  @@ -31,7 +31,7 @@
             });
           },
   
  -        createBillingAgreement: function (data, actions) {
  +        createOrder: function (data, actions) {
   
             var frequencyInterval = $('#frequency_interval').val() || 1;
             var frequencyUnit = $('#frequency_unit').val() ? $('#frequency_interval').val() : CRM.vars.omnipay.frequency_unit;
  @@ -93,7 +93,7 @@
         .render('#paypal-button-container');
     }
   
  -  var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '&amp;currency=' + CRM.vars.omnipay.currency + '&amp;commit=false&amp;vault=true';
  +  var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '&amp;currency=' + CRM.vars.omnipay.currency + '&amp;commit=false&amp;enable-funding=venmo'
     CRM.loadScript(paypalScriptURL, false).done(renderPaypal);
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-12-29T18:18:59.057Z
Answers.Text: Thank you, it works both via VPN or "buyer-country=US" for those not in the US, according to https://developer.paypal.com/docs/multiparty/checkout/pay-with-venmo/integrate/
Answers.UserDisplayName: yurg
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-12-27T21:08:00.403Z
Answers.LastActivityDate: 2024-12-27T21:24:59.893Z
Answers.LastEditDate: 2024-12-27T21:24:59.893Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Body: <p>Anyone got Venmo ( part of Omnipay extension ) working?</p>
  <p>Paypal checkout configured according to this guide <a href="https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/blob/master/docs/Paypal.md" rel="nofollow noreferrer">https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/blob/master/docs/Paypal.md</a></p>
  <p>and Venmo prerequisites met - a person having Venmo installed on their app and located in the US.</p>
  <p>However there is no Venmo button on contribution pages. Could it be because of Venmo API retirement ( <a href="https://venmo.com/docs/overview/" rel="nofollow noreferrer">https://venmo.com/docs/overview/</a> || <a href="https://venmo.com/developers/" rel="nofollow noreferrer">https://venmo.com/developers/</a> )? Any pointers re: how to make it work please?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-12-27T04:04:21.130Z
Comments.Text: I'm trying to do the same thing.  I don't think it's the API retirement (but can't be certain) because the current PayPal docs show the Venmo button.  But maybe it's because it's the REST v1 endpoint?  I'm going to submit a ticket to PayPal tech support tomorrow most likely.
Comments.UserDisplayName: Jon G - Megaphone Tech
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-12-27T13:06:45.773Z
Comments.Text: @JonG-MegaphoneTech Thank you Jon, their documentation is a bit confusing  - there are a lot of places here and there mentioning Venmo and it doesn't look like there is a single trustworthy source. Please keep us updated, cheers!
Comments.UserDisplayName: yurg
Tags: <wordpress><payment-processor><venmo>
Title: Does anyone have Venmo payments working
ThreadText: # Does anyone have Venmo payments working
  
  (Asked by: username_0 on 2024-12-07)
  
  Anyone got Venmo ( part of Omnipay extension ) working?
  
  Paypal checkout configured according to this guide <https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/blob/master/docs/Paypal.md>
  
  and Venmo prerequisites met - a person having Venmo installed on their app and located in the US.
  
  However there is no Venmo button on contribution pages. Could it be because of Venmo API retirement ( <https://venmo.com/docs/overview/> || <https://venmo.com/developers/> )? Any pointers re: how to make it work please?
  
  **Tags:** wordpress, payment-processor, venmo
  
  > **Comments:**
  > **username_1**: I'm trying to do the same thing.  I don't think it's the API retirement (but can't be certain) because the current PayPal docs show the Venmo button.  But maybe it's because it's the REST v1 endpoint?  I'm going to submit a ticket to PayPal username_1 support tomorrow most likely.  
  > **username_0**: @username_1 Thank you Jon, their documentation is a bit confusing  - there are a lot of places here and there mentioning Venmo and it doesn't look like there is a single trustworthy source. Please keep us updated, cheers!  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-12-27. Score: 3 | Accepted answer
  
  @username_0 I worked on this a bit more today, and I have something working.
  
  There are a number of criteria that must be met for the Venmo button to appear. We must a) not be using recurring payments, b) not trying to save the card to a PayPal "vault", c) we must specifically request Venmo.
  
  * When we have a `createBillingAgreement()` function, PayPal assumes this is recurring, and disables Venmo. So I changed that to `createOrder()`.
  * I removed `vault=true` from the URL so it knows we're not trying to save the card.
  * I added `enable-funding=venmo`.
  
  My diff is below. Please test and let me know if it's working for you!
  
  ```
  diff --git a/Metadata/js/omnipay_PaypalRest.js b/Metadata/js/omnipay_PaypalRest.js
  index bf784ac13..6aa608ca5 100644
  --- a/Metadata/js/omnipay_PaypalRest.js
  +++ b/Metadata/js/omnipay_PaypalRest.js
  @@ -31,7 +31,7 @@
             });
           },
   
  -        createBillingAgreement: function (data, actions) {
  +        createOrder: function (data, actions) {
   
             var frequencyInterval = $('#frequency_interval').val() || 1;
             var frequencyUnit = $('#frequency_unit').val() ? $('#frequency_interval').val() : CRM.vars.omnipay.frequency_unit;
  @@ -93,7 +93,7 @@
         .render('#paypal-button-container');
     }
   
  -  var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '&currency=' + CRM.vars.omnipay.currency + '&commit=false&vault=true';
  +  var paypalScriptURL = 'https://www.paypal.com/sdk/js?client-id=' + CRM.vars.omnipay.client_id + '&currency=' + CRM.vars.omnipay.currency + '&commit=false&enable-funding=venmo'
     CRM.loadScript(paypalScriptURL, false).done(renderPaypal);
  
  ```
  
  > **Comments:**
  > **username_0**: Thank you, it works both via VPN or "buyer-country=US" for those not in the US, according to https://developer.paypal.com/docs/multiparty/checkout/pay-with-venmo/integrate/  
  
  ---
  
  