1
.NET MVC 프로젝트에서 Braintree.js를 사용하여 신용 카드 정보를 암호화합니다. 긍정적 인 경우는 잘 작동하고 거래가 성공적입니다.실패한 트랜잭션의 암호화 된 값
문제는 컨트롤러에서 몇 가지 유효성 검사가 있는데 오류가있는 경우보기를 다시 표시하면 신용 카드 필드에 암호화 된 값이 포함됩니다. 빈 문자열에 모델 속성을 설정하여 시도했지만 암호화 된 값은 그대로 유지됩니다.
아무도 이것에 대한 우아한 해결책이 있습니까? 감사! 아래와 같이
<script type="text/javascript" src="https://js.braintreegateway.com/v1/braintree.js"></script>
<script type="text/javascript">
var braintree = Braintree.create("key");
braintree.onSubmitEncryptForm('braintree-payment-form');
</script>
@model SubscriptionModel
<form action="@Url.Action("Subscribe", "Home")" method="POST" id="braintree-payment-form">
<ul>
<li>
<div class="text">@Html.TextBoxFor(x => x.CreditInfo.CardholderName, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.CardholderName" } })</div>
</li>
<li>
<div class="text">@Html.TextBoxFor(x => x.CreditInfo.CardNumber, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.CardNumber" } })</div>
</li>
<li>
<div class="text">@Html.TextBoxFor(x => x.CreditInfo.Cvv,new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.Cvv" } })</div>
</li>
<li>
<div class="text">
@Html.TextBoxFor(x => x.CreditInfo.ExpirationMonth, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.ExpirationMonth" } })<div>
@Html.TextBoxFor(x => x.CreditInfo.ExpirationYear, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.ExpirationYear" } })
</div>
</li>
</ul>
<button>Submit</button>
</form>
잘못된 코드를 입력하십시오. – BartoszKP
내 HTML 코드가 추가되었습니다. 다시 말씀 드리 자면 실제 구독이 정상적으로 작동하고 있습니다. 내 문제는 내가보기를 다시 표시하면 텍스트 상자의 데이터가 암호화 된 값으로 대체됩니다. – vsebastian