2017-09-21 7 views
0

PHP SDK를 사용하여 PayPal에서 "Item amount must add up to specified amount subtotal (or total if amount details not specified)"의 오류가 발생합니다.PayPal PHP SDK 오류 - 지정된 금액까지 추가해야하는 금액 금액 소계

문서 총계가 지정된 총계와 일치하지 않을 때이 오류가 발생한다는 것을 알고 있습니다. 내 경우를 제외하고는, 그들은 합산한다.

다른 답변을 읽은 다음 항목이 항목 당 집계된다는 것을 알고 있습니다. 즉 상품의 가격 * 수량이지만 오류는 계속 발생합니다.

더 흥미로운 점은 입니다. 사용자가 이미 로그인하고 "지금 지불"버튼을 누른 후이 오류가 발생합니다..

`array (
     'amount' => array (
      'currency' => 'GBP', 
      'total' => '558.48', 
      'details' => array (
       'shipping' => '0', 
       'tax' => '93.08', 
       'subtotal' => '465.40', 
      ), 
     ), 
     'item_list' => array (
      'items' => array (
       0 => array (
        'name' => 'Q-Connect Premium White A4 90gsm Inkjet Paper (500 Pack) KF01090', 
        'currency' => 'GBP', 
        'quantity' => 50, 
        'price' => '7.49', 
       ), 
       1 => array (
        'name' => 'Stabilo Point 88 Fineliner Pen Black (Pack of 10 with 5 neon pens free) UK12/110-8846885', 
        'currency' => 'GBP', 
        'quantity' => 10, 
        'price' => '9.09', 
       ), 
      ), 
     ), 
    )` 

나는 이미 그것을 시도하고 배송의 경우 내가 여전히 오류가 있기 때문에이 £ 0.00 만약 내가 전달을 제거하는 것이 좋습니다하지 마십시오 : 여기

는 (배열 등) 트랜잭션 객체이다 > 0

세금은 소계 + 배송비로 부과됩니다. 이 경우 (465.40 + 0) * 1.2 = 558.48

마찬가지로 465.40 + 93.08 + 0 = 558.48

답변

1

이 문제가 해결되었습니다.

"지금 지불하기"버튼을 클릭 한 후에 지불을 재확인해야합니다. 두 번째 시간에 오류를 일으킨 원인 인 잘못된 금액을 보냈습니다. 이것은 지불이 이미 전달 된 후에 일어나는 이유입니다.

+0

나는 좋은 것을 안다. –

0

는 스트링 대신 숫자로 값을 전달되고있다. 반올림 오류가 발생하거나 그와 같은 오류가있을 수 있습니다. 숫자로 시도하고 어떤 일이 일어나는 지보십시오. 수량은 숫자로 올바르게 전달됩니다

또는

당신은 계정 페이팔 수수료를 고려 할 수 있습니다하지만 난하지 될 수

또는

가격에 대해 매우 확실하지 않다 개인이지만 집계, 다시, 나는 잘 모르겠다 ... 더블 체크

또는

마지막 쉼표가 배열을 선언 할 때 생략한다 PHP에서

페이팔 SDK 정말 (이 선택 사양 일 수는 두 번 체크 ... PHP는 오류보고에 매우 느슨한) "지금 지불"html 버튼과 같은 간단한 작업을 수행하지 않는 한 정말 잘 문서화되지 않고 작업하기가 번거 롭습니다. 줄무늬로 이동 ->https://stripe.com

+0

안녕하세요. 신속한 응답에 감사드립니다. 불행히도, 나는 당신의 대답을 완전히 무시해야합니다. 내가 올린 배열은 트랜잭션 객체 자체에서'toArray()'를 호출 한 결과이다.나는 실제로 숫자를 전달하고있다, 페이팔 (paypal)은 포인트 A와 D를 무효로 만드는 것이다. 페이팔 수수료는 확실히 고려되지 않았고 집계를 사용해 보았지만 로그인 단계에 도달하기 전에 실패했습니다. 그러나, 나는 당신의 마지막 점에 완전히 동의한다 : P 그러나 스트라이프를 사용하는 것은이 시점에서 실행 가능한 선택이 아니다. –