Paypal .NET SDK를 사용하여 지불 및 환불을 시도합니다. 그러나 지불 기능이 작동하지만 환불을 수행 할 수 없습니다. 나는 같은 페이팔의 문서와 코드 예제를 통해 찾고있다 : 나는 내 환불 절차를 기반으로 한페이팔 환불 판매 REST API 반환 : 원격 서버에서 오류를 반환했습니다 : (404) 찾을 수 없음
- http://paypal.github.io/PayPal-NET-SDK/Samples/SaleRefund.aspx.html
- https://developer.paypal.com/docs/api/payments/#sale_refund
페이팔의 코드 예제 중 하나 (위의 첫 번째 링크)와에서 내 자신의 클래스 라이브러리 내에서 매우 약간 수정되었습니다 :
public class RefundTransaction
{
private readonly string _paypalUniqueTransactionId;
private readonly CurrencyEnum _currency;
private readonly decimal _orderTotal;
/// <summary>
/// Creates a refund with basic key fields.
/// </summary>
/// <param name="paypalUniqueTransactionId"></param>
/// <param name="currency"></param>
/// <param name="orderTotal"></param>
public RefundTransaction(string paypalUniqueTransactionId, CurrencyEnum currency, decimal orderTotal)
{
_paypalUniqueTransactionId = paypalUniqueTransactionId;
_currency = currency;
_orderTotal = orderTotal;
}
/// <summary>
/// Processes and completes a refund on a sale transaction.
/// </summary>
public void RefundWholeSale()
{
#region Set the refund details
Refund processRefund = new Refund
{
amount = new Amount()
{
currency = _currency.ToString(),
total = _orderTotal.ToString("N")
}
};
#endregion
#region Action the refund
Sale refundSale = new Sale()
{
id = _paypalUniqueTransactionId
};
Refund refundResponse = refundSale.Refund(Configuration.GetAPIContext(), processRefund);
#endregion
}
}
내가 돌아 오는 응답은 404 오류입니다. 이해할 수 있듯이이 API 호출은 /v1/payments/sale/{sale-id}/refund
끝점을 사용합니다. 사용중인 판매 ID 값은 사용자가 결제를 한 후에 저장합니다 (PAY-XXXXXXXXXXXXXXXXXXXXXXX).
올바른 "판매 ID"를 사용하고 있습니까? Paypal 계정에 REST API를 통한 환불을 허용하는 특수 권한이 필요합니까?
이 문제에 대한 도움을 주시면 감사하겠습니다.