2016-06-30 4 views
1

나는 paypal rest api payments 리소스를 사용하여 지불 금액과 항목 정보를 업데이트합니다. 나는 다만 품목의 가격 및 세금을 바꾸고 싶다; 및 배송 금액; 그러나 반환 MALFORMED_REQUEST;페이팔 휴식 API 업데이트 항목

{ 
 
    "op": "replace", 
 
    "path": "/transactions/0/item_list/items/0", 
 
    "value": { 
 
     "name": "hello", 
 
     "quantity": "2", 
 
     "price": "100", 
 
     "currency": "USD", 
 
     "tax": "12" 
 
    } 
 
    }, 
 
    { 
 
    "op": "replace", 
 
    "path": "/transactions/0/amount", 
 
    "value": { 
 
     "currency": "USD", 
 
     "total": "224", 
 
     "details": { 
 
     "shipping": "12", 
 
     "subtotal": "200", 
 
     "tax": "12" 
 
     } 
 
    } 
 
    }

반환 : { "이름": "MALFORMED_REQUEST", "메시지": "MALFORMED_REQUEST", "information_link request_data은 ... 나 술에 취한

을 ":"https://developer.paypal.com/docs/api/#MALFORMED_REQUEST ","debug_id ":"78c05f9b4f21 "}

내가 있는지 확인하려면 :
1, 페이팔로 지불의 항목 정보를 업데이트 할 수 있습니다 2는 "/ transactions/0/item_list/items/0"경로입니다.
대단히 감사합니다!

답변

0

저는 PayPal Java SDK를 사용하고 있으며 아래의 코드를 사용하여 카트 항목과 총 가치를 업데이트했습니다.

APIContext context = new APIContext(clientId,clientSecret,environment); 

List<Patch> patches = new ArrayList<Patch>(); 

Amount amount = new Amount(); 
amount.setCurrency("BRL"); 
amount.setTotal("100.00"); 

Patch patch1 = new Patch(); 
patch1.setOp("replace").setPath("/transactions/0/amount").setValue(amount); 

patches.add(patch1); 

ItemList items = getItens(order); 

Patch patch2 = new Patch(); 
     patch2.setOp("replace").setPath("/transactions/0/item_list").setValue(items); 

patches.add(patch2); 

try { 

    Payment payment = Payment.get(context, id); 

    payment.update(context, patches); 

    ... 
} ....