I'm doing a paypal Express Checkout operation with SOAP API using the payment action Authorization.
The authorization period is automatically set to 29 days. How can i change it?
The credit card authorization that a bank places on the buyers credit card, is really up to the card issuing bank. It's not anything you can really change. The actual hold period can vary slightly as well from one card issuing bank to the next.
Related
I have created shopify app and setting up billing Api. In the App, I want to apply trial period of 20 days. I have created the charge during the app installation and send customers to confirmation url so that they can accept or decline the charge.. So I want to know that if customer decline the payment charge, then can he uses the app featurs till trial period?
If a customer declines the subscription, you still get the confirmation URL callback. Examine the charge. The status will say declined. At this point you can kill off their DB token and destroy their session. This will ensure they cannot use your App as they declined the terms.
It is one bad aspect of the whole billing scenario. I have lots of customers that are faced with a question they don't read. So they assume the trial you offer for free is activated by declining the subscription. Silly customers... still cannot operate the Internet :)
I would like to make an API call to Big Commerce backend to complete a purchase on a customer's behalf. Based on the API reference:
https://developer.bigcommerce.com/api/stores/v2/orders#create-an-order
By default, I believe that one can only create an order that not yet paid by the customer. Please correct me if I am wrong.
So, my question is - How do you make a payment on behalf of a customer for the order? It is safe to assume that we have a tokenized credit card of our known customer in a payment gateway like Stripe.
My guess of how it could be done is when an order is created, I can set up a webhook to call the payment gateway to make a charge on the customer's credit card. Is this correct? Are there anything that I should watch out for?
Currently, you cannot use the BigCommerce API to process a payment or full transaction. We only allow payments through the control panel where you can enter credit card details or on the storefront made by the customer. If you'd like to make use of tokenization or recurring payments, it is better to use Rebillia or Recharge (apps).
As you stated, you would need to make a call to Stripe's API to charge the card on file with the customer's token. This should be fine. It won't make any calls back to BigCommerce, so I'd be mindful of error handling (such as if the card has expired) and how you'd retry or mark the order in BigCommerce. Depending on how it was configured, you would want to check order details to ensure you were only processing payments from API created orders.
I'm not sure of what PCI implications might be for the storage of the Stripe tokens. That would be another point for consideration.
I have a hypothetical question about my PayPal developer account. Since the app I developed uses an API Username (myname-facilitator_api1.mydomain.com), API Password and API Signature to do the transactions, I am wondering what happens with the API access if my PayPal account for whatever reason becomes limited?
I've had my account limited in the past because I did a large withdrawal and PayPal asked me to send in documents to lift the limits ...but what happens during that time to the API access? Would customers also not be able to do transactions through my app during this time or how would it be affected?
There are multiple types of account limitations. For most limitations you can continue to accept payments. In other cases not.
If PayPal is uncertain about whether an account may have been compromised, or lacks a required piece of paperwork, they will generally only limit withdrawals so that the merchant can continue their business with as little impact as possible while they resolve the issue.
If PayPal determines that an account is fraudulent, or engaged in some type of enterprise for which PayPal cannot process the payments, they will block acceptance as well in order to protect the payers -- the alternative being to accept but then reverse all the transactions.
Usually, when your accounts becomes limited you can still receive payments. You can't withdraw though.
Is it possible to send all relevant details to including the paypal email and password to make a transaction in only 1 step?
From what I know, no you can't.
I have been playing with the api for the last week and here is what I've learned.
You can get the users information using PayPal Login API (use the token to process payments)
You can charge a credit seamlessly (without redirecting to paypal)
You can stored / delete / look up a credit card
You can obtain authorization for a payment (requires redirect to paypal site), then capture it later.
Complete Sale (redirect to paypal), confirm payment and complete sale
Hy guys.
I just implemented the paypal checkout express into my website.
All went good until i had test it live.(without sandbox becouse they didn't send me the confirmation email and i cannot get the api credentials)
- i used my own paypal account.
My question is:
Step 1) call "SetExpressCheckout" with required data.
Step 2) get the tocken and redirect the user to pay 0.01 USD. (all good, user saw $0.01)
Step 3) get the buyer details ..."GetExpressCheckoutDetails" and save them (all good )
here is the big problem:
Step 4) call api: "DoExpressCheckoutPayment" with TOKEN, PAYER_ID ...etc also PAYMENT TOTAL AMOUNT
In this step i added the TOTAL AMOUNT by mistake as $500 - hardcoded , after finalizing the order the $500 were transfered to my account from buyers account instead of $0.01.
How this is possible ??? Why paypal doesn't check the total amount from setExpressCheckout with the total amount from DoExpressCheckoutPayment, becouse the tocken is the same one.
In my opinion this is a major security issue.
That is by design. SetExpressCheckout sets up the payment, but your application won't know (in best practice scenarios) the shipping address of the buyer until after you've called GetExpressCheckoutDetails. At that point you could calculate shipping and sales tax accordingly and add it to the order, display a final review page, and then call DoExpressCheckoutPayment with the final order amount to be charged.
So, yeah, whatever you pass in DECP is what's going to get charged, so you want to make sure that's correct.
As for testing, you just need to create an account at http://developer.paypal.com and then create sandbox accounts within that. You can get the API credentials for sandbox accounts by clicking on the profile of each sandbox account. No need to wait on any confirmation emails or anything. Not sure what you're referring to there, but I definitely recommend testing on the sandbox.