Я пытаюсь получить скидку, чтобы обратиться к корзине покупок, которую я написал. Я использую систему Adaptive API
, но, похоже, я не понимаю. Я попробовал его в SetPaymentOptions вызова:PayPal API - скидка?
'receiverOptions' => [
{
'receiver' => {
'email' => '[email protected]'
},
'invoiceData' => {
'totalShipping' => '8.00',
'totalTax' => 0,
'item' => [
{
'itemPrice' => '15.00',
'name' => 'Alice in Wonderland Mechanism Necklace',
'price' => '15',
'itemCount' => 1
},
{
'itemPrice' => '30.00',
'name' => '110 Year Old Unicorn Dial Necklace',
'price' => '30',
'itemCount' => 1
}
],
'discount' => '0.15'
}
}
],
'requestEnvelope' => {
'errorLanguage' => 'en_US',
'detailLevel' => 'ReturnAll'
},
'payKey' => 'AP-2F6415163M814733M',
'SenderOptions' => {
'requireShippingAddressSelection' => bless(do{\(my $o = 1)}, 'JSON::XS::Boolean')
}
};
..и даже попробовал его в первоначальном Pay вызова - но ни один, кажется, признают скидку (и применить его).
'currencyCode' => 'GBP',
'requestEnvelope' => {
'errorLanguage' => 'en_US',
'detailLevel' => 'ReturnAll'
},
'cancelUrl' => 'https://sitedev.net/',
'discount' => '0.15',
'actionType' => 'CREATE',
'ipnNotificationUrl' => 'https://sitedev.net/cgi-bin/ipn.cgi',
'returnUrl' => 'https://sitedev.net/myorders',
'reverseAllParallelPaymentsOnError' => bless(do{\(my $o = 0)}, 'JSON::XS::Boolean'),
'receiverList' => {
'receiver' => [
{
'email' => '[email protected]',
'amount' => '53.00',
'invoiceId' => '47',
'paymentType' => 'GOODS'
}
]
}
};
UPDATE: Ммм нормально - все еще возникают проблемы с этим!
'item' => [
{
'itemPrice' => '25.00',
'name' => 'Cryptex - 16Gb USB Drive',
'price' => '25',
'itemCount' => 1
},
{
'name' => 'Special Discount',
'price' => '-2.50',
'itemCount' => 1
},
{
'itemPrice' => '5.00',
'name' => 'Shipping',
'price' => '5.00',
'itemCount' => 1
}
]
То значения я передаю в, но в конце корзину, она показывает, как:
Steampunk Junkies £27.50
Cryptex - 16Gb USB Drive
£25.00
Shipping
£5.00
£0.00
Странная вещь - это то, что скидка IS применяется ... только не показано ???
О, это хорошая идея - не знаю, почему я не думал об этом :) Я видел параметр «скидка» в другом API (который вы передаете по URL-адресу, для «стандартных» платежей). .. но просто предположил, что он также будет работать в JSON. Их API-документы немного хромают для Adaptive stuff :(Дайте это сейчас, а затем проголосуйте, если он работает =) –
Mmm ok, это не сработало - вы получаете сообщение об ошибке при попытке использовать отрицательный : 'ERROR: неверный параметр запроса: itemPrice не может быть отрицательным на странице /var/home/user/site.net/cgi-bin/admin/Want/Cart.pm. 437.' –
А, моя ошибка - ему не понравилось «itemPrice» определяется ... если я просто использовал параметр «price», тогда он отлично работает. Благодаря! –