Adaptive payment paypal credentials - paypal

I am working with Project theme in word Press..I this theme i am using Adaptive payment method for paypal gateway..But i am unable to do..Can any one please help me to complete this task. I got an array see below for array..
I am using Sandbox details
Array
(
[0] => Array
(
[name] => ns3:FaultMessage
[attributes] => Array
(
[xmlns:ns3] => http://svcs.paypal.com/types/common
[xmlns:ns2] => http://svcs.paypal.com/types/ap
)
[0] => Array
(
[name] => responseEnvelope
[0] => Array
(
[name] => timestamp
[value] => 2015-10-12T02:10:03.535-07:00
)
[1] => Array
(
[name] => ack
[value] => Failure
)
[2] => Array
(
[name] => correlationId
[value] => a7b08f9b701fa
)
[3] => Array
(
[name] => build
[value] => 17820627
)
)
[1] => Array
(
[name] => error
[0] => Array
(
[name] => errorId
[value] => 520009
)
[1] => Array
(
[name] => domain
[value] => PLATFORM
)
[2] => Array
(
[name] => subdomain
[value] => Application
)
[3] => Array
(
[name] => severity
[value] => Error
)
[4] => Array
(
[name] => category
[value] => Application
)
[5] => Array
(
[name] => message
[value] => Account Account not found. Unilateral receiver not allowed in chained payment is restricted
)
[6] => Array
(
[name] => parameter
[value] => Account not found. Unilateral receiver not allowed in chained payment
)
)
)
)

Related

write mongodb driver query with php fetch records from embedded array

Filter item from records array it should only return two items because records.score = 100 having only two items instead this it return me all the records. Can you please help on this thanks.
I have multiple records wherein I would like to fetch only filter records. where I am doing mistake please guide and suggest.
stdClass Object
(
[_id] => e5s65d5e5s65d5s65d44f12
[records] => Array
(
[0] => stdClass Object
(
[date] => MongoDB\BSON\UTCDateTime Object
(
[milliseconds] => 1609923848000
)
[score] => 100
[country] => US
[state] => Connecticut
[city] => Berlin
)
[1] => stdClass Object
(
[date] => MongoDB\BSON\UTCDateTime Object
(
[milliseconds] => 1609923501000
)
[score] => 100
[country] => US
[state] => California
[city] => Barstow
)
[2] => stdClass Object
(
[date] => MongoDB\BSON\UTCDateTime Object
(
[milliseconds] => 1609923157000
)
[score] => 145
[country] => US
[state] => Alabama
[city] => Alexander City
)
[3] => stdClass Object
(
[date] => MongoDB\BSON\UTCDateTime Object
(
[milliseconds] => 1609923108000
)
[score] => 150
[country] => US
[state] => Alaska
[city] => Anchorage
)
)
)
$mng = new MongoDB\Driver\Manager("mongoatlas/");
$filter = ['records.score' => '100'];
$query = new MongoDB\Driver\Query($filter, ['sort' => ['records.date' => 1], 'limit' => 6]);
$rows = $mng->executeQuery("db.table", $query);
expected result should be only two item whose state is Connecticut, California because their score are 100
Try this one
$command = new MongoDB\Driver\Command([
'aggregate' => 'collection',
'pipeline' => [
['$unwind' => '$records'],
['$match' => ['records.score' => '100']],
['$sort' => ['records.date' => 1]],
['$limit' => 6]
],
'cursor' => new stdClass,
]);
$cursor = $mng->executeCommand('database', $command);

PayPal REST completePurchase fee information

How can I get the fees from PayPal?
When I complete the purchase I can do $data = $response->getData(), and I get this information:
Array (
[id] => PAYID-LYUDPFA8E292123AP955374L
[intent] => sale
[state] => approved
[cart] => 3CN05415NR550735F
[payer] => Array (
[payment_method] => paypal
[status] => VERIFIED
[payer_info] => Array (
[email] => accounting-buyer#mobipium.com
[first_name] => test
[last_name] => buyer
[payer_id] => GTHZDZWYCELWU
[shipping_address] => Array (
[recipient_name] => test buyer
[line1] => 1 Main St
[city] => San Jose
[state] => CA
[postal_code] => 95131
[country_code] => US
)
[country_code] => US
)
)
[transactions] => Array (
[0] => Array (
[amount] => Array (
[total] => 1500.00
[currency] => EUR
[details] => Array (
[subtotal] => 1500.00
[shipping] => 0.00
[insurance] => 0.00
[handling_fee] => 0.00
[shipping_discount] => 0.00
)
)
[payee] => Array (
[merchant_id] => PCQDHVBJUD4WN
[email] => accounting-facilitator#mobipium.com
)
[description] => 5e2837933fdc3
[invoice_number] => 5e2837933fdc3
[item_list] => Array (
[shipping_address] => Array (
[recipient_name] => test buyer
[line1] => 1 Main St
[city] => San Jose
[state] => CA
[postal_code] => 95131
[country_code] => US
)
)
[related_resources] => Array (
[0] => Array (
[sale] => Array (
[id] => 9XL29023PP3022045
[state] => pending
[amount] => Array (
[total] => 1500.00
[currency] => EUR
[details] => Array (
[subtotal] => 1500.00
[shipping] => 0.00
[insurance] => 0.00
[handling_fee] => 0.00
[shipping_discount] => 0.00
)
)
[payment_mode] => INSTANT_TRANSFER
[reason_code] => RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION
[protection_eligibility] => ELIGIBLE
[protection_eligibility_type] => ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE
[receivable_amount] => Array (
[value] => 1500.00
[currency] => EUR
)
[exchange_rate] => 0.8627555079
[parent_payment] => PAYID-LYUDPFA8E292123AP955374L
[create_time] => 2020-01-22T11:53:12Z
[update_time] => 2020-01-22T11:53:12Z
[links] => Array (
[0] => Array (
[href] => https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045
[rel] => self
[method] => GET
)
[1] => Array (
[href] => https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045/refund
[rel] => refund
[method] => POST
)
[2] => Array (
[href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LYUDPFA8E292123AP955374L
[rel] => parent_payment
[method] => GET
)
)
)
)
)
)
)
[create_time] => 2020-01-22T11:52:52Z
[update_time] => 2020-01-22T11:53:12Z
[links] => Array (
[0] => Array (
[href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LYUDPFA8E292123AP955374L
[rel] => self
[method] => GET
)
)
)
I only can see the handling_fee field but when i access my facilitator account
https://gyazo.com/fc55e97066ee755efee7867a3c42e913
I can see the estimated field, how can i get this field?
I already do a integration with paypal and I can get that field from
$response['data']['transactions'][0]['related_resources'][0]['sale']['transaction_fee']['value'];
But this field sale doesn't have the transaction_fee field.
Payments in state=>approved must be executed in order to be in state=> completed.
Once a payment is completed or at least pending, its sale object , available at https://api.sandbox.paypal.com/v1/payments/sale/9XL29023PP3022045 in your example , should have details on financials. This is the identifier that has actual accounting value, and which will be persisted for years in the paypal.com account.
The payment object, id PAYID-LYUDPFA8E292123AP955374L in your example, is only used during the payment approval and execution process. It only needs to be kept around ~1 month for debug purposes, as it has no accounting value and will not be referenceable in paypal.com

ERROR: The total invoiced amount for xxxxxx#gmail.com does not match the amount in the pay for delayed chain payment

Error:
The total invoiced amount for xxxxxx#gmail.com does not match the amount in the pay for delayed chain payment.
I am not getting correct response for setPaymentOptions as here I am passing equal amount for both payrequst and invoice data but unable to compare their price. Is this because of currency code as here we pass currency code for payRequest receiver and for invoice data? We don't have any parameter as such for passing currency code. Can anyone help me out for this please?
PayPal\Types\AP\SetPaymentOptionsResponse Object
(
[responseEnvelope] => PayPal\Types\Common\ResponseEnvelope Object
(
[timestamp] => 2016-08-25T00:11:21.138-07:00
[ack] => Failure
[correlationId] => 8cc5bbe5cde59
[build] => 24003818
)
[error] => Array
(
[0] => PayPal\Types\Common\ErrorData Object
(
[errorId] => 580023
[domain] => PLATFORM
[subdomain] => Application
[severity] => Error
[category] => Application
[message] => The total invoiced amount for xxxxxx#gmail.com does not match the amount in the pay request
[exceptionId] =>
[parameter] => Array
(
[0] => PayPal\Types\Common\ErrorParameter Object
(
[name] =>
[value] => invoiceData
)
[1] => PayPal\Types\Common\ErrorParameter Object
(
[name] =>
[value] => xxxxxx#gmail.com
)
)
)
)
)
Parameters I am passing for PayRequest and InvoiceDatas:
PayPal\Types\AP\PayRequest Object
(
[requestEnvelope] => PayPal\Types\Common\RequestEnvelope Object
(
[detailLevel] =>
[errorLanguage] => en_US
)
[clientDetails] =>
[actionType] => PAY_PRIMARY
[cancelUrl] => http://localhost.xyz.com/paymentError?cancel=true
[currencyCode] => USD
[feesPayer] =>
[ipnNotificationUrl] => http://replaceIpnUrl.com
[memo] =>
[pin] =>
[preapprovalKey] =>
[receiverList] => PayPal\Types\AP\ReceiverList Object
(
[receiver] => Array
(
[0] => PayPal\Types\AP\Receiver Object
(
[amount] => 2.00
[email] => ABC-facilitator#gmail.com
[phone] =>
[primary] => false
[invoiceId] =>
[paymentType] =>
[paymentSubType] =>
[accountId] =>
)
[1] => PayPal\Types\AP\Receiver Object
(
[amount] => 8.00
[email] => xxxxxxx#gmail.com
[phone] =>
[primary] => true
[invoiceId] =>
[paymentType] =>
[paymentSubType] =>
[accountId] =>
)
)
)
[reverseAllParallelPaymentsOnError] =>
[senderEmail] =>
[returnUrl] => http://localhost.xyz.com/expressCallback
[trackingId] =>
[fundingConstraint] =>
[sender] =>
[payKeyDuration] =>
)
PayPal\Types\AP\ReceiverOptions Object
(
[description] =>
[customId] =>
[invoiceData] => PayPal\Types\AP\InvoiceData Object
(
[item] => Array
(
[0] => PayPal\Types\AP\InvoiceItem Object
(
[name] => Brand
[identifier] => 1
[price] => 8.00
[itemPrice] => 8.00
[itemCount] => 32
)
)
[totalTax] => 2
[totalShipping] => 27
)
[receiver] => PayPal\Types\AP\ReceiverIdentifier Object
(
[email] => xxxxxx#gmail.com
[phone] =>
[accountId] =>
)
[referrerCode] =>
)
Here 2 things are to be corrected related to price/amount to get rid of the error.
1: In the InvoiceItem object
[name] => Brand
[identifier] => 1
[price] => 256 //THIS IS EQUAL TO itemPrice * itemCount
[itemPrice] => 8.00
[itemCount] => 32
enter code here
2: In the Reciever object
xxxxxxx#gmail.com being the primary receiver should always have the amount equal to the total order amount (item + tax + discount + shipping), irrespective of if the secondary receiver is available or not. So it should be corrected to:
[amount] => 285.00 //256 + 2 + 27
[email] => xxxxxxx#gmail.com
[phone] =>
[primary] => true
[invoiceId] =>
[paymentType] =>
[paymentSubType] =>
[accountId] =>
And this Receiver object of secondary receiver specifies that out of total 285.00, 2.00 will be credited to the secondary receiver:
[amount] => 2.00 //2.00 will be credited to ABC out of 285.00
[email] => ABC-facilitator#gmail.com
[phone] =>
[primary] => false
[invoiceId] =>
[paymentType] =>
[paymentSubType] =>
[accountId] =>
Correct these and do let me know if you are still facing issue with amount mismatch.

Handle post attachments Facebook API SDK 4

Friend, I can not handle the data that return the call. How can I interact with the data, specifically with attachments. the complete result of calling this the link: http://pastebin.com/fLjV0Zu2
I'm using the conversion method for array, but it seems that this method does not interact at all levels of the object. So I can not reach the data attachments to handle.
$graphObject = $response->getGraphObject()->asArray();
$media = $graphObject->getProperty('attachments')->asArray();
print_r($media);
Result:
Array
(
[0] => stdClass Object
(
[subattachments] => stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[media] => stdClass Object
(
[image] => stdClass Object
(
[height] => 483
[src] => https://scontent-a.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/s720x720/10891987_811524088885970_7055896286836804482_n.jpg?oh=895cce48d5da3e59b374fad2f7ec8f69&oe=55297847
[width] => 720
)
)
[target] => stdClass Object
(
[id] => 811524088885970
[url] => https://www.facebook.com/photo.php?fbid=811524088885970&set=gm.767232516689804&type=1
)
[type] => photo
[url] => https://www.facebook.com/photo.php?fbid=811524088885970&set=gm.767232516689804&type=1
)
[1] => stdClass Object
(
[media] => stdClass Object
(
[image] => stdClass Object
(
[height] => 404
[src] => https://scontent-a.xx.fbcdn.net/hphotos-xaf1/v/t1.0-9/s720x720/10885099_811524235552622_234704175575422999_n.jpg?oh=d94c5f69852665adb5a8bae2217cc900&oe=552A30F4
[width] => 720
)
)
[target] => stdClass Object
(
[id] => 811524235552622
[url] => https://www.facebook.com/photo.php?fbid=811524235552622&set=gm.767232516689804&type=1
)
[type] => photo
[url] => https://www.facebook.com/photo.php?fbid=811524235552622&set=gm.767232516689804&type=1
)
[2] => stdClass Object
(
[media] => stdClass Object
(
[image] => stdClass Object
(
[height] => 404
[src] => https://scontent-b.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/s720x720/10898031_811524285552617_7673546158326216312_n.jpg?oh=3376e9140822a7a79904f58f30214c5d&oe=552D6772
[width] => 720
)
)
[target] => stdClass Object
(
[id] => 811524285552617
[url] => https://www.facebook.com/photo.php?fbid=811524285552617&set=gm.767232516689804&type=1
)
[type] => photo
[url] => https://www.facebook.com/photo.php?fbid=811524285552617&set=gm.767232516689804&type=1
)
)
)
[target] => stdClass Object
(
[id] => 767232516689804
[url] => https://www.facebook.com/media/set/?set=pcb.767232516689804&type=1
)
[title] => Photos from Conceicao Fernandes's post
[type] => album
[url] => https://www.facebook.com/media/set/?set=pcb.767232516689804&type=1
)
)
For those who have the same problem. Or rather doubt.
The friend WizKid cleared my ideas.
Even using the correct method to convert the result of GraphObject using Facebook PHP SDK4, calling asArray(); to access the data, I used the form below with success.
$media = $graphObject->getProperty('attachments')->asArray();
$media[0]->subattachments->data;
To interact with the data I'm using foreach()
$data = $media[0]->subattachments->data;
foreach($data as $k => $v) {
//Here you interacted with the data
}

Zend_Db Enum Values

I find this solution
$metadata = $result->getTable()->info('metadata');
echo $metadata['Continent']['DATA_TYPE'];
Hi,
I want to get enum values in Zend_Db.
My Code:
$select = $this->select();
$result = $select->fetchAll();
print_r($result->getTable());
Output:
Example Object
(
[_name] => country
[query] => Zend_Db_Table_Select Object
(
[_info:protected] => Array
(
[schema] =>
[name] => country
[cols] => Array
(
[0] => Code
[1] => Continent
)
[primary] => Array
(
[1] => Code
)
[metadata] => Array
(
[Continent] => Array
(
[SCHEMA_NAME] =>
[TABLE_NAME] => country
[COLUMN_NAME] => Continent
[COLUMN_POSITION] => 3
[DATA_TYPE] => enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South America')
[DEFAULT] => Asia
[NULLABLE] =>
[LENGTH] =>
[SCALE] =>
[PRECISION] =>
[UNSIGNED] =>
[PRIMARY] =>
[PRIMARY_POSITION] =>
[IDENTITY] =>
)
I see enum values in data_type but i don't get this values. How can get data_type?
I find this solution
$metadata = $result->getTable()->info('metadata');
echo $metadata['Continent']['DATA_TYPE'];