Deleting a card or reassigning to new account - balanced-payments

We are in development and are having issues with cards and accounts. It appears that once a card is associated with an account, it's stuck there forever.
We have situations where clients create new accounts, especially in development :), and need a way to either delete cards and accounts or assign a card to a new account.
When using the test 4111... card in development as we try to develop and test out creating new accounts and such, we get errors like "card-already-funding-src: Card has already been associated with an account" since that test card is already in an account.

Actually got the answer direct from Balanced. The key is creating the card. You can use the same card number but you need to get a new URI for each card, then you can add it to a new account! If you try to add the same card with the same uri, it will fail.

Related

How to check stripe card is valid and is still working without making any payment

I am working on a web app where I have user's stripe customer id. I have checked the docs and found that when we stores users card on stripe, stripe checks if it is valid and working for that time.
On the other hand when payment is made we can check it out if card is valid and working by the response from the stripe.
But in my case I have a flow where I payment is going to complete after the appointment is completed and I have to check if the card is working and valid before creating an appointment in database. If card is working we will create an appointment and if not then we will ask to user to add new card as previous is not working and after successful card addition we will proceed.
Unfortunately, there is no way to re-validate a card that is already attached to a Customer.
If you really want to validate a card again, you would need to create a new PaymentMethod with the same card and attach it to the Customer.

How to accept on session payments with saved cards using Stripe's PaymentIntents API

I am working on Stripe's React Native SDK to accept payments on my App. It's working perfectly when I am trying to add a card and pay. In the process I am adding setup_future_usage to save the card (payment method) for future usage. But I am not sure how to charge the saved card in future.
In the Stripe docs, they have mentioned about off-session payments and the recovery flow in case the off session payment fails because it requires authentication but I could not find any information about on-session payments with saved cards.
I have the PaymentMethodId and Client Secret (from the PaymentIntent) but I am not sure how to confirm the payment.
PaymentMethods objects are designed for one-time usage unless attached to a customer.
In this particular case, you'll need to attach the PaymentMethod created from your PaymentIntent to a pre-existing (or new customer). You can then pass the pm_xxx ID to confirmCardPayment.

In-App Payment, is it possible to save a list of user's credit card in Android App

I'm trying to build up an android platform that takes in user credit card info and charge it on use without inserting the credit card details after saving one. But I don't seem to actually see any possible work ways in the "In-App Payment" SDK and I think I see it under Square's java SDK. But as researched in github, their official reply is that I'm unable to use java SDK in android app.
So I'm trying to figure out has anyone done this before or face the same issue?
In-App Payments SDK is solely meant for generating a card nonce on your mobile application. All other API endpoints must be done on a server or service due to security reasons (you don't want to store your personal access token within your application). Once you have that nonce, you need a server or service running that your mobile application will talk to. Ie the most basic is passing the nonce to the Charge endpoint to charge a customer.
On that same note, we have another endpoint called CreateCustomerCard, which you can pass the nonce as well as customer_id to in order to save the card to this particular customer's profile. So, at the very least you'll need to create a customer in order to have their id.
For info around saving cards on file, see this post: Hot to generate card nonce for repeated transactions without making users to enter card details?

iTunes connect: Set Extra price for update for existing user of application

I already submit a application on app store which have price $6.99. Now I am submitting new version of this app. Here I want that iPhone user, which already installed this application, should pay $.99 for this update and new user should pay $6.99
Is it possible to charge extra amount for existing user for update ? Please suggest
No. Updates from the App Store are always free. If you wish to charge for additional content, you can use the In-App purchasing system.
Otherwise, your only option is to create an entirely new App for major updates if you wish to get more money from your users.

"Cannot associate card with accounts on this marketplace" error when adding a card to an account.

I tokenized a card with Balanced.js, and am attempting to create a buyer with the buyer email and the tokenized card URI. I'm seeing this error:
Balanced::Conflict(409)::Conflict:: POST
https://api.balancedpayments.com/v1/marketplaces/TEST-xxxxxx/accounts: cannot-associate-card: Cannot associate card with accounts on this marketplace. Your request id is xxxxxx
Any ideas on the source of the error and how to fix it?
Thanks!
This is usually an indicator that you're trying to associate a Card that was tokenized on one marketplace with an Account that exists on another marketplace. Cards tokenized in Balanced can only be associated accounts on the same marketplace.
The often happens if you're moving between test and production environments. The most obvious place to look is at the marketplace_uri parameter that you're passing through to balanced.js.
You'll see some code in your javascript that looks like
balanced.init(marketplaceUri);
That uri must be the same as the marketplace that is associated with the API key that you're using to process payments.
You need to change the api key
require 'balanced'
Balanced.configure('')
To find it go to dashboard > settings > api key secret