使用Java paypal-sdk創建貝寶「立即購買」按鈕時遇到困難。單一產品似乎工作正常。我希望該按鈕能夠通過產品價格,說明和商品編號進入結帳頁面,而不是可編輯的。這是看我的代碼。首先,我創建了一系列按鈕變量。 (此代碼剪斷是在Groovy)使用多種產品創建貝寶立即購買按鈕(java sdk)
List<String> buttonVarList = new ArrayList<String>()
int count = 1
int size = priceMap.size()
double totalPrice = 0.0
for (Map.Entry<String, PriceInfo> entry : priceMap.entrySet())
{
String skuKey = entry.getKey()
PriceInfo priceInfo = entry.getValue()
String itemNum = (size > 1) ? "_" + String.valueOf(count) + "=" : "="
Product product = Product.findByProductCode(skuKey)
buttonVarList.add("item_name" + itemNum + product.productName)
buttonVarList.add("item_number" + itemNum + skuKey)
buttonVarList.add("amount" + itemNum + priceInfo.unitPrice)
buttonVarList.add("quantity" + itemNum + priceInfo.qty)
totalPrice += priceInfo.totalPrice
count++
}
buttonVarList.add("currency_code=" + currency)
buttonVarList.add("business=" + grailsApplication.config.grails.paypal.email)
buttonVarList.add("subtotal=" + totalPrice)
buttonVarList.add("notify_url=" + grailsApplication.config.grails.paypal.notifyPaypal)
buttonVarList.add("return=" + grailsApplication.config.grails.paypal.successPaypal)
buttonVarList.add("cancel_return=" + grailsApplication.config.grails.paypal.cancelPaypal)
Payment payment = createTransaction(null, priceMap, request.getRemoteAddr(), "PAYPAL")
buttonVarList.add("transactionId=" + payment.transactionId)
buttonVarList.add("buyerId=" + payment.buyerId)
return paypalApi.createButton(buttonVarList)
後,我創建按鈕VAR列表,創建我的加密的按鍵。
BMCreateButtonRequestType requestType = new BMCreateButtonRequestType();
requestType.setButtonType(ButtonTypeType.fromValue("BUYNOW"));
requestType.setButtonCode(ButtonCodeType.fromValue("ENCRYPTED"));
requestType.setButtonLanguage("en");
requestType.setButtonVar(buttonVarList);
隨着百腦匯的按鈕類型,按鈕會爲單個產品的工作,但對於多個產品(ITEM_NAME_1,item_name_2變量等),它似乎無法識別產品和結帳頁面有價格和說明編輯。從文檔中我可以看到這可能是因爲它不能識別附加產品「如果省略此變量,買方就會看到一個可以輸入項目名稱的字段。」
我也嘗試使用CART按鈕類型,它適用於單個產品,但對於多個產品會返回錯誤11929「購物車按鈕必須具有指定的項目名稱和數量。」
這是在結帳購物車中指定多個產品的正確方法嗎?我覺得我必須錯過簡單的東西。謝謝您的幫助。
編輯1:
我曾嘗試加入購物車上傳選項「上傳= 1」未加密的購物車按鈕。如果我然後從代碼中的項目按鈕變量中刪除下劃線,然後重新將它們添加到生成的按鈕(並刪除add = 1,上傳似乎不會覆蓋..)它似乎工作。我顯然無法做到這一點,因爲我需要加密按鈕..但至少我可以看到有一種方法來實現它的工作。也許我應該拋棄PayPal Java Button Manager API?
你有意在第一個代碼片段中沒有分號嗎?導致沒有分號的java會導致你的問題... –
對不起,這是在一個Grails應用程序,所以第一個代碼剪切在Groovy中。第二個剪輯是在Java中使用java paypal-sdk – Arbel
我不是你的問題家庭,但你可以在這裏找到一些東西.. http://dreamix.eu/blog/java/integration-with-paypal-java-sdk – user4342532