I know you can enable and disable payment methods using conditional actions, but I want to be able to add a fee of 5USD, if a person chooses the "Cash deposit" payment method. What am I missing?
The "Ubercart Payment Method Adjustments"-module seems to be what you are looking for:
http://drupal.org/project/uc_pma
I'm not sure if it works with your particular versions of Drupal / UberCart though.
Related
I am implementing the Stripe payment platform using JavaScript and the PHP SDK.
I don't have any issues with the implementation itself, but I am not sure whether I have to reuse an existing PaymentIntent or it's perfectly fine to have a bunch of them created and incomplete.
I searched for this in Stripe's documentation, but I can't seem to find anything related to this.
For example, in my test account I have this:
It's all for the same transaction, because I was changing some visuals and refreshing the browser.
I am aware that each PaymentIntent has an ID, but is it recommended to add it as a query parameter and retrieve it on refreshing, or is it better to always generate a new Payment Intent.
My main reasoning is to avoid having a huge collection of incomplete payment intents.
The default integration path for Stripe today is to create a PaymentIntent first so that you get a client_secret you can use client-side to render their UI via PaymentElement. This means that if your customers decide not to pay after all, you end up with an incomplete PaymentIntent which is expected.
This is not really a problem, other than appearing in the Payments list which can be confusing. You could also write a background job daily that would cancel any PaymentIntent via you know won't be completed because the customer left and you didn't have any data to contact them to upsell them for example but this isn't really needed.
Stripe also has a beta (docs) right now (Feb 2023) that changes the default integration path. This simplifies the experience because you can render the PaymentElement client-side with specific options such as amount and currency. You'd then only create the PaymentIntent at the end of the flow
when the customer is attempting to pay. That flow limits the number of incomplete PaymentIntents since you only create them when the customer really pays. You'd still get some, for example after a decline by the customer's bank though.
i want to show only specific payment option on klarna payment page. in my case it show to payment option 1) pay now and 2) pay in 30 days. i want that user should not able select pay now option.
enter image description here
You cannot deactivate Klarna Checkout payment methods yourself. If you have a contract with Klarna then you should contact merchant support.
We had the same problem
Actually, you can set the payment methods on widget load, but you have to make sure that the method is available from the session call.
Klarna.Payments.load({
container: '#klarna_container',
payment_method_category: 'pay_later'
}
With the Sources API, every customer had a default_source, but when using SetupIntent (in order to be compliant with the PSD2/SCA directive), there doesn't seem to be any direct equivalent.
So my question is, how this can be properly represented API-side (without using metadata)?
The payment_methods listing seems to have a property called preferred for the card (which seems to be what I am looking for), but so far I have not found out, how to get/set this property.
There is no direct equivalent to the default_source for Payment Methods and the newer APIs like Setup Intents and Payment Intents. The closest thing is invoice_settings.default_payment_method, but it only applies to Invoices.
To answer your question directly, you have three choices:
Set and use the value of invoice_settings.default_payment_method, specifying the Payment Method stored there explicitly for each Setup and Payment Intent
Specify the default Payment Method in metadata as you suggested
Stored the default on your end in your own database
Regarding the preferred property, if you're referring to card.networks.preferred that is the preferred card network of the card in question and is not relevant to your question.
If you use Webhooks, you can listen for payment_method.attached or setup_intent.succeeded events and set it as default when they are fired.
For more info:
https://stripe.com/docs/api/events/types
Payment method object can be set to update Customer invoice_settings property with a default payment method.
https://stripe.com/docs/api/customers/update#update_customer-invoice_settings
I have a website in magento. iam using payment methods paypal, bank transfer and stripe. using multi store view(3)
Except paypal remaning payment methods are not showing in checkout process. i dont know what to do.
please help me any one,
Thanks,
For me was the usage of an external module with combination of onepage checkout.
In my case was Phoenix_CashOnDelivery and Phoenix_BankPayment
I have a business that uses the Square Stand and loves the functionality. They don't want to change anything about how they process orders.
However, they use CRM to do their email marketing and contact management. So they are currently manually inputting orders that are made from Square into their CRM.
What I would want to do for them is have them keep using their Square stand as usual, but on the back end have some script that gets called upon any time a successful order is made on their square stand, which will then use the CRM API to input the order automatically.
Is such a configuration possible? If not, what would be the workaround?
Square currently has a webhooks implementation that provides what you're asking for (notifications when a payment occurs). At present, it unfortunately does not include the full payment details, and so your script would need to call the payments API to obtain the full details when a payment occurs.
--da3mon