Stripe에서 JPY 이외의 결제 통화를 지정할 때의 주의점
2084 단어 스트라이프
전치
평소 JPY 밖에 사용하고 있지 않으면 「…응?」이 되는 부분이 있었기 때문에 써 남깁니다.
하고 싶었던 일
$50 (USD)로 결제하고 싶다.
일어난 문제
이런 경우
<form action="" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="key"
data-name="hoge"
data-amount=50
data-currency="USD">
</script>
</form>
이렇게 되었다
$0.50이 된다. . . . .
data-currency로 USD를 지정했는데, 금액이 amount로 지정한 수치의 1/100이 되어 버렸습니다.
원인
amount로 지정한 숫자는 currency에서 지정한 통화의 최소 단위(USD의 경우 센트)의 금액으로 적용되는 것 같습니다.
지금까지 JPY 밖에 사용하지 않았기 때문에,이 사양을 깨닫지 못했습니다.
API 요청은 모두 금액이 통화의 최소 단위로 지정된다고 가정합니다. 예를 들어 10 USD를 청구하려면 amount 값을 1000(1000 센트)으로 지정합니다.
소수점 이하가 아닌 통화의 경우 100을 곱하지 않고 정수로 금액을 지정합니다. 예를 들어 500엔을 청구하려면 amount 값을 500으로 지정합니다.
소수점 이하가 없는 통화:
BIF, CLP, DJF, GNF, JPY, KMF, KRW, MGA, PYG, RWF, UGX, VND, VUV, XAF, XOF, XPF
대처법
amount를 최소 통화 단위로 정렬합니다.
<form action="" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="key"
data-name="hoge"
data-amount=5000
data-currency="USD">
</script>
</form>
$stripe->charges->create([
'amount' => 5000,
'currency' => 'USD',
'source' => $token,
'description' => 'description',
]);
결과
결제 금액이 $50.00 되었습니다 🎉🎉
Reference
이 문제에 관하여(Stripe에서 JPY 이외의 결제 통화를 지정할 때의 주의점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/snitta/items/4d7bdc1e1e581bfd7a2e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)