Skip to main content

Make payments using weaccept.co API and Python.

Project description

WeAcceptPayments

Make payments using weaccept.co API and Python.

import

from weacceptpayments.weaccept import WeAcceptAuth, WeAcceptOrder, WeAcceptPayment

- specify auth data

auth = WeAcceptAuth.as_instance(api_key='YOUR_API_KEY')

PLEASE NOTE:

  • NEVER STORE YOUR API_KEY IN YOUR .py FILES, STORE IT IN AN ENVIRONMENT VARIABLE OR .env FILE AND USE python-dotenv

- create your order

order = WeAcceptOrder.as_instance(auth=auth,
                                  merchant_id=auth.merchant_id,
                                  amount_cents=20000,
                                  merchant_order_id='gv12c4ttr',
                                   items=[  
                                           {  
                                             'name': 'taz1',  
                                             'amount_cents': 20000  
                                           }])

What kwargs are allowed? ``

_allowed_kwargs = [  
    'delivery_needed', 'merchant_id', 'amount_cents', 'currency', 'merchant_order_id',  
    'items', 'shipping_data', 'auth', 'auth_token', 'merchant_id'  
]

PLEASE NOTE:

  • Specifying auth (takes in a WeAcceptAuth object) is an alternative way of specifying auth_token and merchant_id, Don't specify both at the same time.

Now you've access to order.order_id

  • DONT TRY TO CREATE THE SAME ORDER TWICE.
    -- In case you did, order.id won't be created and you have to specify it manually. This is not a bug, When you create the order twice, The server returns 'duplicate' in the second time, And order.id is not in the .response so you need to specify it manually.

specify payment data

payment = WeAcceptPayment.as_instance(auth_token=auth.auth_token,
                                                 order_id=order.order_id,
                                                 amount_cents=200,
                                                 integration_id=16639,
                                                 billing_data={  
                                                               "apartment": "803",  
                                                               "email": "test@example.com",  
                                                               "floor": "42",  
                                                               "first_name": "LeOndaz",  
                                                               "street": "Python community",  
                                                               "building": "8028",  
                                                               "phone_number": "+0123456789",  
                                                               "shipping_method": "PKG",  
                                                               "postal_code": "01898",  
                                                               "city": "Jaskolskiburgh",  
                                                               "country": "CR",  
                                                               "last_name": "whatever",  
                                                               "state": "RANDOM"  
                                                               ))

Now we have access to .token Again, What kwargs are allowed?

_allowed_kwargs = [  
    'amount_cents', 'expiration', 'billing_data', 'currency', 'integration_id',  
    'lock_order_when_paid', 'auth', 'auth_token', 'order', 'order_id'  
]
  • What kwargs are a mandatory?
_MANDATORY_KWARGS = [  
    # amount cents must be specified and the server says duplicate order if it's not.  
    'merchant_order_id', 'merchant_id', 'amount_cents'  
]

PLEASE NOTE:

  • Specifying auth (takes in a WeAcceptAuth object) is an alternative way of specifying auth_token, Don't specify both at the same time.
  • Specifying order (takes in a WeAcceptOrder object) is an alternative way of specifying order_id. Don't specify both at the same time.

Now, add an iFrame with the integration_id of the card in your payment integrations section and the payment_token you got from here.

Tada! This is magic btw.

  • In each of those objects, You have access to .request, .response, .headers, other things too (Explore or use IntelliCode)

  • In each of those objects, You can access the response as obj[key] BUT after you call .start() otherwise, Exceptions are raised.

@TODO

  • Verification of merchant_order_id which is an alpha-numeric value.
  • Verification of shipping data if delivery_needed is specified as True.

Feel free to explore.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weacceptpayments-2.4.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

weacceptpayments-2.4-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file weacceptpayments-2.4.tar.gz.

File metadata

  • Download URL: weacceptpayments-2.4.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for weacceptpayments-2.4.tar.gz
Algorithm Hash digest
SHA256 dd6cdda45002df932834563464cb6bff4338fe59ab34e3c13fc9c79cd1ef9e55
MD5 f6ab8987e19d40a85309854b063bdfe3
BLAKE2b-256 70676d498b2ad1379d133f98c7264d28aee894e6ca849c90527f538385caae7f

See more details on using hashes here.

File details

Details for the file weacceptpayments-2.4-py3-none-any.whl.

File metadata

  • Download URL: weacceptpayments-2.4-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for weacceptpayments-2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9998117ec53dcf40528efe02f7aef3be4906cc97da86abcb6a0042c2c45aec84
MD5 9b97560cdf7424d6c2008786a2326d87
BLAKE2b-256 eee9e2a60495452dfab644ccdcb7769136343dadffe5e4638020558b610d3751

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page