Open laryn opened 10 years ago
@laryn It seems like we are so close. Stripe.js is the problem. somehow it is not processing information correctly...i am looking into it this afternoon...
in Stripe.js the function to create the token is Stripe.createToken looking at stripes api documentation and it shows Stripe.card.createToken I am testing now!
@zesgar Ah, yep -- looks like they changed that according to this: https://stripe.com/docs/tutorials/forms
Crazy how many critical changes they are making without notifying anyone. I wish they would send out an email when they make these API changes..
Is it working?
Ah, no -- they also use a different JS:
https://js.stripe.com/v2/
Instead of v1 which we're still using. I'll try updating both of those changes and see if anything improves.
Did anybody ever figure this out? I'm on CiviCRM 4.4, Stripe payment processor 1.7 and I get the string error on live transactions as well...
@rowjamesrow Start with the latest version here on GitHub: https://github.com/drastik/civicrm_stripe/archive/4.4-1.8.zip
Let me know of any issues you run into after that.
@drastik For whatever reason, I can't seem to get CiviCRM to recognize 1.8 as an installable extension. I've cloned it into my extension directory and tried various different combinations of directory permissions and names, but to no avail.
I'm having the same issues with getting CiviCRM to recognize 1.8 as an installable extension. Also of note. In 1.7 the recurring payments and one time contributions are working fine for me, but I'm getting the "is not of type String" error only on event registrations. @rowjamesrow, were you able to find a solution to the 1.8 installable extension issue?
No, I was not. I gave up on the Stripe extension because it wasn't really compatible with our system, and haven't revisited it since.
On Mon, Jun 2, 2014 at 9:55 AM, cacardinal notifications@github.com wrote:
I'm having the same issues with getting CiviCRM to recognize 1.8 as an installable extension. Also of note. In 1.7 the recurring payments and one time contributions are working fine for me, but I'm getting the "is not of type String" error only on event registrations. @rowjamesrow https://github.com/rowjamesrow, were you able to find a solution to the 1.8 installable extension issue?
— Reply to this email directly or view it on GitHub https://github.com/drastik/civicrm_stripe/issues/27#issuecomment-44839351 .
Oh my, @cacardinal -- sorry for the confusion. The info.xml file in the 1.8 branch does not state version 1.8 in it yet: https://github.com/drastik/civicrm_stripe/blob/4.4-1.8/info.xml
So you very well probably have 1.8 installed. The fact that "recurring and one time contributions are working" is very encouraging! If you are using Civi 4.4, that means that this commit must have worked: https://github.com/drastik/civicrm_stripe/commit/021e9a6d89b11b553965838f4eae1c05b6a65e87
I know there are other issues. Don't worry about the version number reporting 1.7, I was waiting until stable to update that, but in hindsight, that was a bad decision. Sorry again for the confusion.
The org I was helping initially gave up on Stripe due to these issues and went back to Paypal, so I wasn't able to devote a lot of time to this. I am testing out of curiousity on my own site and am still seeing these problems.
After updating CiviCRM to 4.4.5, CiviCRM-Stripe to 1.8, updating the API version in my Stripe account to the latest, and updating the Stripe PHP library, I am getting "You cannot set 'card'to an empty string. We interpret empty strings as NULL in requests. You may set obj->card = NULL to delete the property" on test transactions.
I see both of these issues occurring on my site:
@laryn - Just as a point of reference, I finally stopped getting this issue when I disabled Privacy Badger and Adblocker on my browser.
@eliotlandrum @drastik VERY interesting -- quick test on a test-drive link is promising after disabling Adblock Plus! Thanks for the tip, that may well be the issue.
Created an issue here on the ADP situation. Created a bug report on ADP's forums. Progress can be tracked here: https://github.com/drastik/civicrm_stripe/issues/45
Thanks for all the great work on this extension @drastik -- unfortunately, it seems like this issue is not limited to Adblock Plus. Using civicrm_stripe 1.8 and CiviCRM 4.4.6, have reproduced in Firefox and Chrome with no plugins installed. Stripe is getting the request: { description: "Donor from CiviCRM" card: "" email: "dev.null@eff.org" } and responding with:
type: "invalid_request_error" message: "You passed an empty string for 'card'. We assume empty values are an attempt to unset a parameter; however 'card' cannot be unset. You should remove 'card' from your request or supply a non-empty value" param: "card"
So strange. There is a line that should catch that and not even continue to submit to Stripe: https://github.com/drastik/civicrm_stripe/blob/4.4-1.8/CRM/Core/Payment/Stripe.php#L272
Although it's isset() not empty()... So in this case, it may be safe to say that $params['stripe_token'] is present, but the javascript on page isn't properly filling it out during pre-form submission (js call to Stripe).
Any JS conflicts on the contribution page you can see in console? Recent updates to Stripe API (setting within stripe.com account)?
Don't know if this is helpful, but I had similar issue to maxateff. However, I believe problem is with my install.
Uncommenting lines 283-293 fixed for me. It appears the unsupervised de dupe rule "Email" is used to check for existing customers, and for whatever reason this rule does not work in this install. (white screen). Because this failed, no customer name was set or sent to Stripe, hence assumed Stripe Error.
Initial error mesages:
Stripe_Error create_customer: Array ( [error] => Array ( [type] => invalid_request_error [message] => You passed an empty string for 'card'. We assume empty values are an attempt to unset a parameter; however 'card' cannot be unset. You should remove 'card' from your request or supply a non-empty value [param] => card )
)
MESSAGE Notice: Use of undefined constant Stripe_Error - assumed 'Stripe_Error' in CRM_Core_Payment_Stripe->stripeCatchErrors() (line 173 of /sites/default/files/civicrm/extensions/civicrm_stripe-4.4-1.8/CRM/Core/Payment/Stripe.php).
I have a site running CiviCRM 4.4.3 with CiviCRM-Stripe 1.7, and the contribution page errors out on submission with " is not of type String". Interestingly, I think event pages that take contributions through Stripe are still functioning but I've had to put the donation page in "Pay later" mode since mid-December.
The backtrace is below. Any ideas?