Brain-tree payment gateway: amount settlement - php

I am using brain tree as a payment gateway in my website and initially I am authorizing the payment and after few minute I will submit it for settlement but its giving us following errors:
Settled amount is : 7
Total authorized amount is: [amount] => 187.50
I am getting below error:
**[_attribute:private] => amount
[_code:private] => 91551
[_message:private] => Settlement amount cannot be less than the service fee amount.**
For more details you see the response which I am getting:
Braintree_Result_Error Object
(
[success] =>
[_attributes] => Array
(
[errors] => Braintree_Error_ErrorCollection Object
(
[_errors:private] => Braintree_Error_ValidationErrorCollection Object
(
[_errors:private] => Array
(
)
[_nested:private] => Array
(
[transaction] => Braintree_Error_ValidationErrorCollection Object
(
[_errors:private] => Array
(
[0] => Braintree_Error_Validation Object
(
[_attribute:private] => amount
[_code:private] => 91551
[_message:private] => Settlement amount cannot be less than the service fee amount.
)
)
[_nested:private] => Array
(
)
[_collection:protected] => Array
(
)
)
)
[_collection:protected] => Array
(
)
)
)
[params] => Array
(
[transaction] => Array
(
[amount] => 7
)
[controller] => transactions
[action] => submit_for_settlement
[merchantId] => 6tfkyqyqnqh6ydwk
[id] => 92vsvs
)
[message] => Settlement amount cannot be less than the service fee amount.
[transaction] => Braintree_Transaction Object
So is there any time limit for submitting amount ?

Finally I got the answer of my question
The validation error you are encountering (91551 Settlement amount cannot be less than the service fee amount) for transaction 92vsvs is due to you attempting to settle the transaction for $7.00, which is below the service fee amount of $32.61 USD.
When creating a Marketplace transaction and passing a service fee, you can choose to authorize the total transaction amount initially and submit a smaller amount later on. The issue is that the service fee specified cannot be changed or lowered, so you need to submit an amount that can at least cover this service fee.
For example, transaction 92vsvs is authorized for $187.50 USD and has a service fee of $32.61 USD. At the bare minimum, you can submit $32.61 USD for settlement. You can submit any amount higher than $32.61 USD for settlement, but nothing lower. If you submitted only $32.61 USD for settlement than there would be no funds sent to the sub-merchant, since there are no funds remaining after the service fee is collected.

Related

How can I get the cod costs in WooCommerce?

I've a problem. I'm currently writing a WordPress plugin for WooCommerce which reads out an order for a booking system.
The booking system has an own field for cod costs (costs on delivery / Nachnahmegbühr (deutsch)). The problem is that I can't find a method to read this cost from an order.
If I read out the fees from the order via $order->get_fees(), I can see the cod costs but this is not safe enough cause the fee name is always in the shop language which makes it nearly impossible to read out the cod costs this way (in an international plugin):
[data:protected] => Array
(
[order_id] => 24
[name] => Zahlungsgebühr
[tax_class] => 0
[tax_status] => taxable
[amount] => 2.16
[total] => 2.16
[total_tax] => 0.34
[taxes] => Array
(
[total] => Array
(
[6] => 0.344828
)
)
)
So is there any known way to get this kind of costs?

PayPal Express Checkout - Create Recurring Payment Profile not working

We are Using Recurring Payments with the Express Checkout API. We follow the following link
https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPRecurringPayments/#id086513007E9
Recurring payment with Initial amount :-
My request to create recurring payment
METHOD=CreateRecurringPaymentsProfile&VERSION=86&PWD=password&USER=XXXXXXXXXX&SIGNATURE=signature&TOKEN=token&PROFILESTARTDATE=2014-11-26T10%3A15%3A48Z&DESC=Silver+-+USD+3.95&BILLINGPERIOD=Day&BILLINGFREQUENCY=4&INITAMT=1&AMT=1&CURRENCYCODE=USD&IPADDRESS=127.0.0.1&BUTTONSOURCE=PP-ECWizard
The response of request :-
Array
(
[PROFILEID] => I-L28955XWTU84
[PROFILESTATUS] => PendingProfile
[TIMESTAMP] => 2014-11-26T10:15:54Z
[CORRELATIONID] => 83fa402749c8c
[ACK] => Success
[VERSION] => 86
[BUILD] => 13630372
)
In response PROFILESTATUS is "PendingProfile" but it supposed to "ActiveProfile" and in customer account no amount deducted.
Without initial amount recurring
METHOD=CreateRecurringPaymentsProfile&VERSION=86&PWD=password&USER=XXXXXXXXXX&SIGNATURE=signature&TOKEN=token&PROFILESTARTDATE=2014-11-26T10%3A26%3A13Z&DESC=Silver+-+USD+3.95&BILLINGPERIOD=Day&BILLINGFREQUENCY=4&AMT=1&CURRENCYCODE=USD&IPADDRESS=127.0.0.1&BUTTONSOURCE=PP-ECWizard
The response of request :-
Array
(
[PROFILEID] => I-1RXFKHJ5H846
[PROFILESTATUS] => ActiveProfile
[TIMESTAMP] => 2014-11-26T10:26:21Z
[CORRELATIONID] => 6f793b6e64a35
[ACK] => Success
[VERSION] => 86
[BUILD] => 13630372
)
When I am doing recurring without initial amount it returns "ActiveProfile".
I want to do recurring with initial amount and expecting an active profile with instant initial amount deduction from the customer account, so please help me to fix this problem. Please note - pwd/signature/token is masked, in actual code we have put the real pwd/signature/token.
Thanks.
remove String INITAMT=1 ------> ActiveProfile

This transaction cannot be processed. Please enter a valid credit card number and type

Using Paypal's DoDirect Payment method I am getting This transaction cannot be processed. Please enter a valid credit card number and type. error.
I have entered correct Visa card number, Exp. date, and Correct US address with correct zip code.
I have check this error on paypal. Its showing me Invalid Data.
I am using sandbox account for test with test visa card number provided by paypal.
Please help me on this issue.
Thanks
EDITED
I am getting below error.
DoDirectPaymentResponseType Object
(
[Amount] => BasicAmountType Object
(
[currencyID] => USD
[value] => 0.01
)
[AVSCode] =>
[CVV2Code] =>
[TransactionID] =>
[PendingReason] =>
[PaymentStatus] =>
[FMFDetails] =>
[ThreeDSecureResponse] =>
[PaymentAdviceCode] =>
[Timestamp] => 2014-09-23T06:37:51Z
[Ack] => Failure
[CorrelationID] => bb70f300ab2bd
[Errors] => Array
(
[0] => ErrorType Object
(
[ShortMessage] => Invalid Data
[LongMessage] => This transaction cannot be processed. Please enter a valid credit card number and type.
[ErrorCode] => 10527
[SeverityCode] => Error
[ErrorParameters] =>
)
)
[Version] => 106.0
[Build] => 12932421 )
Based on very limited info you provided. I think you should set the both the server and the client to TEST mode in order to use the test VISA number in debug mode.
It seems that credit card number is not at all being passed to the PayPal , only the credit card type is being passed . Please check your code and make sure the credit card number is passed to the PayPal .

paypal payments pro direct payment check if successful

hey guys was hoping you could help me out.
I cant seem to find any proper reference or documentation for their direct payments api and variables so I am asking here now.
I am doing direct payment for the first time and according to their integration guide, the payment status should be "successful" but this is the response I am getting (i.e i do print_r($doDirectPaymentResponse); where the variable comes from
$doDirectPaymentResponse = $paypalService->DoDirectPayment($doDirectPaymentReq,$credential_object);
)
DoDirectPaymentResponseType Object
(
[Amount] => BasicAmountType Object
(
[currencyID] => USD
[value] => 12.00
)
[AVSCode] => X
[CVV2Code] => M
[TransactionID] => 9H515811FE178263Y
[PendingReason] =>
[PaymentStatus] =>
[FMFDetails] =>
[ThreeDSecureResponse] =>
[PaymentAdviceCode] =>
[Timestamp] => 2013-02-01T15:56:31Z
[Ack] => Success
[CorrelationID] => a0a240936bf65
[Errors] =>
[Version] => 94.0
[Build] => 5060305
)
also, what exactly does the ack field tell?
Ack is the field you want to pay attention to. If it's Success or SuccessWithWarning, the payment went through successfully, and TransactionID has your transaction ID. If it's Failure or FailureWithWarning, it didn't go through.

FEDEX Rating Service - FEDEX_GROUND vs GROUND_HOME_DELIVERY

When I send a request with FEDEX_GROUND, I get this error. Is there a workaround to switch out the shipping method without explicitly looking for this error and retrying the request?
Array
(
[HighestSeverity] => ERROR
[Notifications] => Array
(
[0] => Array
(
[Severity] => ERROR
[Source] => crs
[Code] => 924
[Message] => This shipment qualifies for FedEx Home Delivery. Please resubmit your request with serviceType Ground Home Delivery.
[LocalizedMessage] => This shipment qualifies for FedEx Home Delivery. Please resubmit your request with serviceType Ground Home Delivery.
)
[1] => Array
(
[Severity] => WARNING
[Source] => crs
[Code] => 304
[Message] => Requested shipment package count did not match the summed total of group package count values; the summed total of group package count values was used to rate.
[LocalizedMessage] => Requested shipment package count did not match the summed total of group package count values; the summed total of group package count values was used to rate.
)
)
[Version] => Array
(
[ServiceId] => crs
[Major] => 10
[Intermediate] => 0
[Minor] => 0
)
)
Before you perform the label request, if the service = Ground and res=True then you should switch the service over to Ground Home Delivery. This will resolve the error.
I already had this error when the PackageCount wasn't representing the number of RequestedPackageLineItems.
<ns1:PackageCount>2</ns1:PackageCount>
<ns1:RequestedPackageLineItems><...>
<ns1:RequestedPackageLineItems><...>
If you have 2 RequestedPackageLineItems, set your PackageCount to two.

Categories