Как интегрировать код BN с XML Pay? (PayPal Payflow Pro)
Мы используем PayPal на веб-сайте PayPal PayPlow Pro для обработки кредитных карт на нашем веб-сайте, и недавно мы присоединились к партнерской программе PayPal, которая позволяет указывать "BN-код" для каждой обработанной транзакции, чтобы получить за нее кредит. Единственная проблема... вся документация по использованию кодов BN относится к устаревшему стилю обработки транзакций Express Checkout (который в основном просто отправлял данные формы в виде длинной строки запроса), а не к текущей модели с XMLPay,
В старой модели этот "код BN" был указан как BUTTONSOURCE
параметр, и поэтому я знаю, чтобы использовать <ButtonSource>
тег в XMLPay. Однако я не знаю, где это поставить.
Ни Руководство для разработчиков XMLPay, ни Выпуск через веб-сайт Payments Pro Payflow - Руководство разработчика XMLPay не показалось очень полезным для ответа на этот вопрос. Они приводят примеры размещения <ButtonSource>
пометить сразу внутри <PayPal>
тег, который используется в качестве <Tender>
, Проблема в том, что большинство наших клиентов не будут использовать PayPal в качестве тендера; они будут использовать свои кредитные карты.
Я попробовал несколько транзакций, перемещая <ButtonSource>
пометить в разных местах, как внутри <PayPal>
теги и одиноко стоящие без них. С каждой новой попыткой либо транзакция была отклонена, либо код просто не прошел.
Вот пример запроса XMLPay, который мы отправляем в PayPal. Я знаю, что это не правильное размещение <ButtonSource>
тег, но кто-то может сказать мне, где мне нужно разместить этот тег? Или вы могли бы просто опубликовать исправленную копию этого XML, которая делает это правильно?
<?xml version="1.0" encoding="UTF-8"?>
<XMLPayRequest xmlns="http://www.paypal.com/XMLPay" Timeout="30" Version="2.0">
<RequestData>
<Vendor>************</Vendor>
<Partner>PayPal</Partner>
<Transactions>
<Transaction>
<Sale>
<PayData>
<Invoice>
<NationalTaxIncl>false</NationalTaxIncl>
<TotalAmt>10.00</TotalAmt>
<BillTo>
<Address>
<Street>1234 Fake Street</Street>
<Zip>90210</Zip>
</Address>
</BillTo>
</Invoice>
<Tender>
<Card>
<CardType>VISA</CardType>
<CardNum>****************</CardNum>
<ExpDate>******</ExpDate>
<NameOnCard>John Smith</NameOnCard>
<CVNum>***</CVNum>
</Card>
</Tender>
<ButtonSource>MyCompanyBNCode</ButtonSource>
</PayData>
</Sale>
</Transaction>
</Transactions>
</RequestData>
<RequestAuth>
<UserPass>
<User>************</User>
<Password>************</Password>
</UserPass>
</RequestAuth>
</XMLPayRequest>
Большое спасибо!
1 ответ
Вы должны поместить его в тег extdata, описанный в руководстве, начиная со страницы 16. То же самое относится и к любому другому параметру, который не имеет значения XML.
Общий пример из руководства:
<Sale>
<PayData>
(Invoice)
(Tender)
</PayData>
(ExtData)*
</Sale>