davidduffett / moolah Goto Github PK
View Code? Open in Web Editor NEWEasy card payment processing for .NET
License: Other
Easy card payment processing for .NET
License: Other
UTF-8 strings like in order detail item names get garbled when displayed in Paypal's express checkout.
When performing a DataCash card payment and you provide a billing address WITHOUT a postcode (eg. for an Irish address), the following exception is thrown by Moolah:
System.ArgumentNullException: Value cannot be null.
Parameter name: input
at System.Text.RegularExpressions.Regex.Replace(String input, String replacement)
at Moolah.DataCash.DataCashRequestBuilderBase.formatPostcode(String postcode) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCashRequestBuilderBase.cs:line 129
at Moolah.DataCash.DataCashRequestBuilderBase.Cv2AvsElement(CardDetails card, BillingAddress billingAddress) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCashRequestBuilderBase.cs:line 95
at Moolah.DataCash.DataCashRequestBuilderBase.CardElement(CardDetails card, BillingAddress billingAddress) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCashRequestBuilderBase.cs:line 78
at Moolah.DataCash.DataCashRequestBuilderBase.CardTxnElement(CardDetails card, BillingAddress billingAddress) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCashRequestBuilderBase.cs:line 71
at Moolah.DataCash.DataCash3DSecureRequestBuilder.Build(String merchantReference, Decimal amount, String currencyCode, CardDetails card, BillingAddress billingAddress) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCash3DSecureRequestBuilder.cs:line 34
at Moolah.DataCash.DataCash3DSecureGateway.Payment(String merchantReference, Decimal amount, CardDetails card, BillingAddress billingAddress, String currencyCode) in c:\DEV\Moolah\Moolah\Moolah\DataCash\DataCash3DSecureGateway.cs:line 54
at eSpares.WebSite.Domain.Payment.PaymentService.Payment(PaymentForm cardDetails, Guid customerOrderId, Money amountToPay, Money taxIncluded, TaxRateCode taxRate, Address billingAddress) in c:\DEV\levity-trunk-multitax\Applications\eSpares.WebSite\eSpares.WebSite\Domain\Payment\PaymentService.cs:line 61
Hello!!!
i want to know this, when buyers will buy few items in my website
when that press the button to pay they go to paypal but they don't see all the summary details...
well,Let me explain clearly...
i am developing my site in joomla 3.1.
for shopping cart i used j2store...
after proceed to pay i just directly link up to paypal page. but, in that, view order summary is not showing any thing.
now whats my problem is how can i get my j2store order summary in paypal view order summary?
Currently we do not provide any value for the NOSHIPPING field in SetExpressCheckout, which determines whether PayPal displays a shipping address on payment pages (not required for digital goods), or whether it obtains the address from the buyer's profile.
https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
There have been reports of details coming back from PayPal without any shipping address when it is needed. According to PayPal, setting this option to "2" should make a shipping address mandatory.
Provide options on the OrderDetails object to specify this NOSHIPPING value. Default it to what it is currently (0).
Google Checkout has been retired - it is no longer relevant. Remove any code related to it from Moolah.
Add the ability to pass in the billing address for DataCash card payments, so DataCash will perform AVS checks.
Start by using the default policy (no extended policy options).
Provide the ability to cancel a DataCash card transaction.
This is helpful for mistake transactions, as they can be cancelled up until a certain time (midnight the same day?). Cancel will fail if the transaction has already settled.
Hi there, it;s working relly well, other than there is no price info in Order summary on paypal checkout. I've tried:
var orderDetails = new OrderDetails {OrderTotal = price};
var response = gateway.SetExpressCheckout(orderDetails, cancelUrl, confirmationUrl);
and
var response = gateway.SetExpressCheckout(12.99m, cancelUrl, confirmationUrl);
Regards,
Graham
Hi, I've been using the framework seamlessly to accept PayPal payments for the last week (thanks, it's really helpful!), but recently I tried to add a shipping cost to my items and I had an error. When my sandbox user logs in and attempts to pay, I receive the following error embedded on the PayPal page:
ASF::Client::ClientConnectException: Client received error with operation get_segments on service SegmentRead version 1.0 endpoint 10.72.108.213:10761 in state connect Backtrace: ASF::ASFException::ASFException(String const&) ASF::FrameworkException::FrameworkException(String const&) ASF::Client::ClientException::ClientException(String const&) ASF::Client::ClientConnectException::ClientConnectException(String const&) ASF::Client::Client::check_error(ASF::Protocol::HttpClientProcessor_, char const_) ASF::Client::Client::send_request(char const_, ValueObject const&, bool, bool, bool) ASF::Client::Client::invoke_operation(char const_, ValueObject const&, ValueObject&, bool) Marketing::SegmentReadClient::get_segments(Marketing::GetSegmentsRequest const&, Marketing::GetSegmentsResponse&) FundingMix::DeferredPaymentSystemBLIImpl::is_user_in_pad_allowed_segment(unsigned long long) Rapids::Flows::FundingMix::DecoratorPADToggle::prepare_page() Rapids::DecoratedState::prepare_page() Riprap::RiprapRapidsGenericFlow::handle_prepare_page(Riprap::WebAppContextOrnate const&, bool&, Rapids::TransitionEdge&) Riprap::RiprapRapidsGenericFlow::handle_transition(Riprap::WebAppContextOrnate const&, Rapids::TransitionEdge const&, String const&, bool&, Riprap::RiprapRapidsGenericFlow::ProcessStates&, Riprap::DispatchInterceptorRegistry const&) Riprap::RiprapRapidsGenericFlow::process_states(Riprap::WebAppContextOrnate const&, Riprap::RiprapRapidsGenericFlow::ProcessStates, Riprap::DispatchInterceptorRegistry const&, Rapids::TransitionEdge const*) Riprap::RiprapRapidsGenericFlow::flow_return(Riprap::WebAppContextOrnate const&, Riprap::WebAppReturn const&, Riprap::DispatchInterceptorRegistry const&) Riprap::call_rapids(Riprap::WebAppContext const&, Riprap::RapidsFlowFactory const&, Riprap::DispatchAction const&, Riprap::WebAppReturn const&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_loop(Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::DispatchAction&, Riprap::WebAppReturn&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_wrapper(OutputStream&, Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::WebAppReturn const&, String const&, bool const&, Riprap::DispatchInterceptorRegistry const&) Riprap::entry_point(HTTPInterface&, Riprap::CGIVars&, OutputStream&, String const&, String const&) main
An error has occurred.
The page can be debugged, and it shows that there is a null value for the shipping country (I think) ... here's the line that complains:
/9-US, 19-UK, 26-CA,37-DE,45-FR,52-IT,62-AU,72-ES,95-CN/
shipping_co_id = YUD.get("markShippedUsing").value;
And here's the scripting error:
SCRIPT5007: Unable to get property 'value' of undefined or null reference
merchantpaymentweb, line 135 character 15
Any ideas?
Thanks,
John
How can I do a Paypal recursive payment with the library? There is some docs that I did not find somewhere?
Another thing, once a recurring payment is set, it is possible to cancel it with the library?
Thanks.
Allow users to pass in a currency code so that we can transact via DataCash with currencies other than GBP.
It would be nice if it supported multiple currencies.
Our company allows people to pay in multiple currencies.
DataCash response code 188 occurs when the card issuer's Access Control Server returns an 'unknown' response for a 3D secure authentication request (https://datacash.custhelp.com/app/answers/detail/a_id/881).
This indicates a problem at the card issuer that we are not able to do anything about. The transaction can still be authorised, but it will not be 3D secure authenticated or covered by that programme's liability shift protection.
Allow immediate authorisation of 3D-Secure transactions which return a status code of 188.
American Express does have it's own version of 3D-Secure (they call it SafeKey), however some merchants will not have this enabled on their DataCash accounts.
If it is not enabled, performing a 3D-Secure enrolment check, followed by authorisation just lengthens the payment process.
Provide a configuration option which will disable 3D-Secure enrolment checks for AMEX cards. If this option is enabled, it should authorise the transaction directly, rather than the 2-step enrolment check then authorise.
We've come across another couple of examples where characters within addresses can cause issues with certain DataCash acquirers (eg. AMEX).
DataCash's specification clearly states that we have the option to only send through the numeric parts of the address, so instead of:
<street_address1>13-14 Chelsea Wharf</street_address1>
<street_address2>15 Lots Road</street_address2>
We could pass through
<street_address1>131415</street_address1>
This will pre-empt any problems that may occur due to non-alphanumeric characters within addresses.
I am using NVP / SOAP APIs. I use paypal sandbox. The Url which I use is :https://api-3t.sandbox.paypal.com/nvp The code was working fine but all of a sudden it stopped working. It gives the following error "The underlying connection was closed: The connection was closed unexpectedly.". Is there anything that is changed in paypal or am I doing something wrong. If you need more details please let me know. Any help will be greatly appreciated
DataCash specification states the postcode should be "A maximum of 9 alphanumeric
characters." Implement this restriction.
Hi Moolah community,
The checkout function of my web application is working fine when testing locally. But when I deploy my web application on GoDaddy and test the checkout function, I encounter FileIOPermission error. So far, I have set all folders to write permission in GoDaddy but still doesn't solve the problem.
GoDaddy in on medium trust so my guess maybe some part in the library is not configured on medium trust environment. See below for stack trace.
If you encountered this problem before, care to share your workaround on this problem. Thanks.
Stack trace:
[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) +31
System.Security.CodeAccessPermission.Demand() +46
System.Reflection.RuntimeAssembly.get_Location() +100
NLog.d__a.MoveNext() +410
NLog.LogFactory.get_Configuration() +331
NLog.LogFactory.GetLogger(LoggerCacheKey cacheKey) +458
NLog.LogFactory.GetLogger(String name) +54
NLog.LogManager.GetCurrentClassLogger() +187
Moolah.PayPal.PayPalExpressCheckout..cctor() +8
First, thank you for this library and sorry for my bad english...
When I call
var response = gateway.SetExpressCheckout(5.00m, CurrencyCodeType.BRL, cancelUrl, confirmationUrl);
I get the response:
"PayPal error code: 10401
Short message: Transaction refused because of an invalid argument. See additional error messages for details.
Long message: Order total is invalid."
Am I forgeting something?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.