Comments (10)
Steps to reproduce:
>>> from authorize import AuthorizeClient, CreditCard
>>> client = AuthorizeClient(API_LOGIN, API_SECRET)
>>> cc = CreditCard('4111111111111111', '2018', '11', '911', 'Joe', 'Blow')
>>> card = client.card(cc)
>>> card.capture(100)
<AuthorizeTransaction 60102022389>
>>> saved_card = card.save()
No handlers could be found for logger "suds.client"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/authorize/client.py", line 147, in save
.create_saved_profile(unique_id, [payment], email=self.email)
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/authorize/apis/customer.py", line 80, in create_saved_profile
response = self._make_call('CreateCustomerProfile', profile, 'none')
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/authorize/apis/customer.py", line 51, in _make_call
response = method(self.client_auth, *args)
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/suds/client.py", line 649, in send
result = self.failed(binding, e)
File "/home/alexey/.virtualenvs/usgm/local/lib/python2.7/site-packages/suds/client.py", line 708, in failed
raise Exception((status, reason))
Exception: (550, u'Unknown')
from authorizesauce.
We're seeing the same error on our end. It looks like someone else reported this on Auth.net's forums: https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-SOAP-API-returning-a-550-error-on-sandbox-and-production/td-p/62704
from authorizesauce.
That's actually my post on the forums. We've contacting authorize.net through live chat (where they were mostly useless) and over the phone. On the phone, they said CIM had an update yesterday, and that they had at least one other report of someone getting 550 errors.
We've also done some testing, and the JSON/XML API is working for CIM, so it seems to be specific to the SOAP API authorizesauce is using.
from authorizesauce.
We've been experiencing this same issue since about 7 PM EDT.
from authorizesauce.
+1
from authorizesauce.
I tried a few things but always get the 550 error.
I added the request/response details to the forum post from above:
https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-SOAP-API-returning-a-550-error-on-sandbox-and-production/m-p/62723/highlight/true#M36985
This library uses AIM for transactions and SOAP for the CIM/recurring billing. Since their SOAP API is deprecated and they recommend not using AIM I think I'll update the readme to point to their sdk for python (https://github.com/AuthorizeNet/sdk-python).
from authorizesauce.
FWIW I just ended up ripping out AuthorizeSauce for the specific endpoint that was causing the problem. Still not sure what the root cause is, but I was able to craft a SOAP request manually that succeeded - my wild guess is that Authorize.NET isn't handling namespacing in the SOAP request properly.
Here is the code utilizing the official Python SDK I used to replace the create_saved_profile
call that was failing, hopefully this will save someone a bit of time if you end up having to replace as well. (I know OP was making a different call but you can hopefully adapt as needed.) Authorize has said they are fixing this, but we couldn't wait any longer.
If using pip, add to requirements.txt:
authorizenet==1.0.15
Code:
from authorizenet import apicontractsv1
from authorizenet.apicontrollers import *
merchantAuth = apicontractsv1.merchantAuthenticationType()
merchantAuth.name = settings.AUTHORIZE_NET_API_ID
merchantAuth.transactionKey = settings.AUTHORIZE_NET_API_KEY
createCustomerProfile = apicontractsv1.createCustomerProfileRequest()
createCustomerProfile.merchantAuthentication = merchantAuth
createCustomerProfile.profile = apicontractsv1.customerProfileType()
createCustomerProfile.profile.merchantCustomerId = internal_id
createCustomerProfile.profile.email = email
controller = createCustomerProfileController(createCustomerProfile)
if settings.AUTHORIZE_NET_PRODUCTION:
controller.setenvironment(constants.PRODUCTION)
controller.execute()
customer_profile_response = controller.getresponse()
customer_profile_id = None
if customer_profile_response.messages.resultCode == "Ok":
customer_profile_id = customer_profile_response.customerProfileId
from authorizesauce.
@mohlman3 If you create a customer profile using the official SDK (via the XML API), can you then access it using Authorize Sauce (via the SOAP API)?
from authorizesauce.
@cpburnz Yes that seemed to work fine if referencing it by Authorize.NET's numerical id for the object (customer_profile_id
in the example above)
from authorizesauce.
Authorize.net has fixed this and recommends moving to their SDK since the SOAP APIs are deprecated.
https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-SOAP-API-returning-a-550-error-on-sandbox-and-production/m-p/62769/highlight/true#M37030
I will update the readme to link to their SDK here:
https://github.com/AuthorizeNet/sdk-python
https://github.com/AuthorizeNet/sample-code-python
from authorizesauce.
Related Issues (20)
- Handle unicode characters in user details HOT 1
- Is the transaction status API supported ? HOT 1
- list index out of range in authorize->apis->transaction.py, line 26 (Parsing response) HOT 3
- from authorize import AuthorizeClient, CreditCard, Address ImportError: cannot import name AuthorizeClient HOT 2
- How to submit phone number and description when capturing card? HOT 3
- 'AuthorizeSavedCard' object has no attribute 'recurring' HOT 1
- Provide email address along with address data HOT 1
- Will these Authorize.NET changes affect this package? HOT 1
- Submitting Invoice Number with Transaction HOT 2
- Authorize.net Technical Updates
- Recurring payments on savedcard HOT 1
- User Authentication Failed HOT 1
- Re: Version of LT that also applies a modifier key #121 HOT 2
- <urlopen error [Errno -2] Name or service not known> HOT 2
- POST requests for transaction calls HOT 8
- Order Information
- AuthorizeConnectionError HOT 10
- Authorize.net error code 66 HOT 8
- Authorize.Net error. E00027: A duplicate transaction has been submitted.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from authorizesauce.