When using Square e-commerce API for Charge with Card On File is billing address still required to ensure ChargeBack protection? - square-connect

For a normal charge transaction to a card through the API either the billing address or shipping address plus the email address needs to be provided to ensure that the transaction is covered under the Chargeback Protection rules. However when charging a customer's card on-file the billing address is already on-file with the card information. So can the billing address be omitted in the transaction request and still have the transaction covered under chargeback protection? or does the billing address for the card on file still need to be provided each transaction? Seems redundant if it is already on file. But don't want to lose chargeback protection by omitting.

You should submit the billing address with the charge request. You are right that it is "on file" with the card, but they are used in slightly different ways, so you should include that information with each charge you create. Ideally you'd store that with the customer record so it would be easy to pull out every time you charge.

Related

Payment address of other country in google play console

I moved to another country and my personal payment address is no longer valid. Google's recommendation is to create another payment account with the actual address. But it makes me wonder:
Taxes of which country is going to be applied to my payments?
Do I need to verify my address the same way as in AdMob? Via verification PIN. And if yes, then what address they will send it to?
How do I withdraw the money I will earn? Is it through the AdSense system or somehow different?
Why do I wonder, you may ask? That's because I was forced to create totally new AdMob account when I moved to another country, but here Google says that it's enough to have just an additional payment address. Am I good?
On your original AdMob Account Add new payment method (new bank account from your new country) then cancel the first payment method (your old bank account)
Call AdMob Support and verify your new address, they will ask for a bill with your name or Bank statement from your new address (make sure your name in statement is identical to your passport and the new address is written in English)
Also they will ask you to fill W-8 form to identify if you working for USA or not.
Remember to close the new AdMob account if this worked properly.
The tax will apply to the country of the bank account which received the payment.

Braintree hosted fields integration - edit existing card data

I'm using Braintree hosted fields to allow credit card payments, and users can use multiple cards.
How can I allow users to edit existing cards? For example, when a card is renewed by the bank, it keeps the same card number, but the expiration date and CVV change. I want users to be able to edit the expiration date and CVV to keep the card active. Is this possible, or does the user have to enter in a new card from scratch with the same card number?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support
Once your customer has their payment method stored in a Vault record you can use their associated payment method token to run a PaymentMethod.update() call. Using the payment method update you can change most attributes of the stored method, and you can find a full list of those attributes here. When updating actual card information, such as CC number, expiration date, etc. it is recommended that you generate a nonce with the new information rather than entering it manually, but either will work just fine.

How to verify credit card and post a sale in a single API transaction?

edit:
tl;dr: you can't.
You have to create a payment method in order to verify it. Creating a sale does NOT invoke verification, even if verification is enabled globally.
original:
I'm reading about credit card verification, which apparently isn't done automatically during Braintree_Transaction::sale(), but I don't see any options to enable verification on calling sale().
Do I really have to implement (at least) two separate API transactions just to verify a credit card?
Ideally I would like to use a single call to ::sale() to perform validation, authorization, and capture.
I have already enabled verification through my control panel, and I'm using test credit card number 4000111111111115 which, is supposed to be declined, but i'm getting successful transactions with it.
Do I have to create a payment method separately in order to perform validation, even if I have global validation enabled?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact support.
To test card verification results, please adjust the amount of your transaction. Because these cards are not linked to real accounts, Braintree cannot make the small authorization charges that are made in production, and instead the API must rely on the amount of the test transaction to dictate the expected response.
In a Production environment, Card verification is triggered by the creation of payment methods, not by transactions. To enable verification, either enable it across all payment methods, or add the verifyCard option to your PaymentMethod::Create call. The response to PaymentMethod::Create in either of these cases will contain a creditCardVerification object if the verification fails for any reason, allowing you to stop the transaction before sale is called.

Recurring Payments - Trial without card

We're developing a system whereby the user will be sign-up and have a 3 month trial without entering card details. Once the trial period is up they get sent an e-mail asking them to come back and register card details in order to setup a recurring payment in order to continue accessing the site.
Is it possible to configure recurring payments with Braintree such that we don't provide a card for the trial period and then configure one upon notification that it has expired?
Thanks!
I work at Braintree. If you want more information than you can easily get on Stack Overflow, please reach out to our support team.
Braintree subscriptions require a credit card to be created. That way, the transition from trial period to billing doesn't require any action by the customer or merchant. Since our core service is billing credit cards, that's what subscriptions are designed to do.
In your case, it sounds like you can create a subscription in your application, and only link it to a Braintree subscription if / when credit card details are entered. You'll need to handle tracking the three month time limit yourself.

Is there anyway of passing a shipping address to Google Checkout?

I'm looking into integrating Google Checkout into our website. At the checkout stage of our website we calculate the delivery cost based on where they are shipping to, however it appears to me that the user could change the shipping address once they reach Google Checkout i.e the user could indicate on our website that they want it shipped down the road, and then at Google Checkout indicate they want it shipped to Australia!
Is there anyway of passing a shipping address across to Google Checkout, and then prevent the user from changing that address? Failing that, is it at minimum possible to pass the shipping address to GC?
Consider using "merchant-calculated shipping".
Merchant-calculated shipping allows you to wait until the buyer selects the shipping address for an order before you determine the availability and cost of different shipping options for that order.
You must provide a callback URL and Google Checkout will call you back with the final shipping address and request from you the available shipping methods and costs.
More info in this doc:
http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Merchant_Calculated_Shipping.html
If the order has been placed by this time, you should be OK - from http://checkout.google.com/support/bin/answer.py?hl=en&answer=99746
You may add shipping addresses to your
account or revise them at any time.
Changes cannot be applied to existing
orders; you will need to contact the
seller to request shipping address
updates
And
Any changes you make to your shipping
address are not retroactive -- Once
the order is placed, any changes to
the order must be applied by the
seller. Contact the seller directly
with your request

Resources