Я просто играю с API PayPal, пытаюсь внедрить Checkout Express, чтобы я мог принимать кредитные карты, отдавая приоритет тем, у кого нет учетной записи PayPal, поэтому я установил encoder["LANDINGPAGE"] = "Billing";
.
В моем приложении пользователь будет перенаправлен на сайт PayPal с
меню выбора варианта оплаты, следовательно, они уже ввели свой адрес
в моей форме доставки, есть ли способ передать этот адрес PayPal при использовании CheckoutExpress?
Я пытаюсь тщетно тестирование со значениями ниже, но, кажется, когда пользователь
перенаправляется на страницу ввода данных кредитной карты в PayPal, поля адреса пустые.
Я могу получить адрес, который они вводят с помощью GetExpressCheckout, но это главное
того, чего я пытаюсь достичь.
public string ECSetExpressCheckoutCode(string returnURL,string cancelURL,string amount,string paymentType,string currencyCode)
{
NVPCallerServices caller = new NVPCallerServices();
IAPIProfile profile = ProfileFactory.createSignatureAPIProfile();
// Set up your API credentials, PayPal end point, API operation and version.
profile.APIUsername = "seller_324454235454_biz_api1.isp.net.au";
profile.APIPassword = "135454354";
profile.APISignature = "An5ns1Kso7MWUSSDFggfdgdfGHHGDSddGnbHJgMVp-rU03jS";
profile.Environment="sandbox";
caller.APIProfile = profile;
NVPCodec encoder = new NVPCodec();
encoder["VERSION"] = "51.0";
encoder["METHOD"] = "SetExpressCheckout";
// Add request-specific fields to the request.
encoder["RETURNURL"] = returnURL;
encoder["CANCELURL"] = cancelURL;
encoder["AMT"] = amount;
encoder["PAYMENTACTION"] = paymentType;
encoder["CURRENCYCODE"] = currencyCode;
encoder["LANDINGPAGE"] = "Billing";
encoder["PAYMENTREQUEST_0_SHIPTOSTREET"] = "345/3 Moomy St.";
encoder["PAYMENTREQUEST_0_SHIPTOCITY"] = "Umpa Lumpa";
encoder["PAYMENTREQUEST_0_SHIPTONAME"] = "Johnny Walker";
encoder["PAYMENTREQUEST_0_SHIPTOSTATE"] = "NSW";
encoder["PAYMENTREQUEST_0_SHIPTOZIP"] = "2673";
encoder["PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE"] = "AU";
encoder["PAYMENTREQUEST_0_SHIPPINGAMT"] = "56.00";
encoder["NOSHIPPING"] = "0";
// Execute the API operation and obtain the response.
string pStrrequestforNvp= encoder.Encode();
string pStresponsenvp=caller.Call(pStrrequestforNvp);
NVPCodec decoder = new NVPCodec();
decoder.Decode(pStresponsenvp);
string Response = decoder["ACK"] == "Success" ? decoder["TOKEN"]: "ERROR";
return Response;
}