/ / Vrátenie platby s programom ActiveMerchant (Paypal checkout Express) - rubínové zábradlie, paypal, Activemerchant

Refundácia s ActiveMerchantom (Paypal Checkout Express) - rubín na koľajniciach, paypal, aktívny obchodník

Snažím sa o vrátenie prostriedkov pomocou klenotu ActiveMerchant. Po prečítaní API, Používam spôsob vrátenia platby, ako je tento: response = PaymentGateway.refund(nil,transaction_id), kde transaction_id je moje 17-miestne ID transakcie. Keď spustím tento kód, mám v protokoloch túto chybu:

    Refund error: transaction 90C30922TK2262948, booking 5569, response= #
<ActiveMerchant::Billing::PaypalExpressResponse:0x00000110a4c048 @params=
{"timestamp"=>"2013-12-28T11:58:46Z", "ack"=>"Failure",
"correlation_id"=>"17b440dc61a09", "version"=>"72", "build"=>"8951431",
"refund_transaction_id"=>nil, "message"=>"The transaction id is not valid",
"error_codes"=>"10004", "Timestamp"=>"2013-12-28T11:58:46Z", "Ack"=>"Failure",
"CorrelationID"=>"17b440dc61a09", "Errors"=>{"ShortMessage"=>"Transaction refused
because of an invalid argument. See additional error messages for details.",
"LongMessage"=>"The transaction id is not valid", "ErrorCode"=>"10004",
"SeverityCode"=>"Error"}, "Version"=>"72", "Build"=>"8951431",
"RefundTransactionID"=>nil}

Zdá sa, že parameter id nie je akceptovaný rozhraním API Paypal. Používam prevod metóda, ale radšej používam vrátenie jedna.

odpovede:

1 pre odpoveď č. 1

Pozri sa na toto paypal_api

Takto by mala vyzerať vaša refundácia

  # Refunds a transaction.
#
# For a full refund pass nil for the amount:
#
# gateway.refund nil, "G39883289DH238"
#
# This will automatically make the :refund_type be "Full".
#
# For a partial refund just pass the amount as usual:
#
# gateway.refund 100, "UBU83983N920"
#
def refund(money, identification, options = {})
commit "RefundTransaction", build_refund_request(money, identification, options)
end

2 pre odpoveď č. 2

uistite sa, že ste použili ID transakcie, keďsuma bola „zachytenie“. v mojej aplikácii používam rozhranie API na autorizáciu / zachytenie / vrátenie platby. ID transakcie, keď „autorizujem“, sa líši od ID transakcie, keď „snímam“

tu sú údaje, ktoré som dostal, keď zachytím sumu.

timestamp: "2014-01-30T21:59:33Z"
ack: Success
correlation_id: 7803f5d114c45
version: "72"
build: "9285531"
authorization_id: 04G82796YE043610H
transaction_id: 9A656277C6136044L
parent_transaction_id: 04G82796YE043610H
receipt_id:
transaction_type: express-checkout
payment_type: instant
payment_date: "2014-01-30T21:59:32Z"
gross_amount: "15.97"
gross_amount_currency_id: USD
fee_amount: "0.76"
fee_amount_currency_id: USD
tax_amount: "0.00"
tax_amount_currency_id: USD
exchange_rate:
payment_status: Completed
pending_reason: none
reason_code: none
protection_eligibility: Eligible
protection_eligibility_type: ItemNotReceivedEligible,UnauthorizedPaymentEligible
AuthorizationID: 04G82796YE043610H
PaymentInfo:
TransactionID: 9A656277C6136044L
ParentTransactionID: 04G82796YE043610H
ReceiptID:
TransactionType: express-checkout
PaymentType: instant
PaymentDate: "2014-01-30T21:59:32Z"
GrossAmount: "15.97"
FeeAmount: "0.76"
TaxAmount: "0.00"
ExchangeRate:
PaymentStatus: Completed
PendingReason: none
ReasonCode: none
ProtectionEligibility: Eligible
ProtectionEligibilityType: ItemNotReceivedEligible,UnauthorizedPaymentEligible

potom zavolám metódu vrátenia platby:

Gateway.refund(798,"9A656277C6136044L")

=> #<ActiveMerchant::Billing::PaypalExpressResponse:0x007ff4e744b450
@authorization="70L01419MK614945K",
@avs_result=
{"code"=>nil, "message"=>nil, "street_match"=>nil, "postal_match"=>nil},
@cvv_result={"code"=>nil, "message"=>nil},
@fraud_review=false,
@message="Success",
@params=
{"timestamp"=>"2014-01-31T01:56:47Z",
"ack"=>"Success",
"correlation_id"=>"55810b5eb3c3d",
"version"=>"72",
"build"=>"9285531",
"refund_transaction_id"=>"70L01419MK614945K",
"net_refund_amount"=>"7.75",
"net_refund_amount_currency_id"=>"USD",
"fee_refund_amount"=>"0.23",
"fee_refund_amount_currency_id"=>"USD",
"gross_refund_amount"=>"7.98",
"gross_refund_amount_currency_id"=>"USD",
"total_refunded_amount"=>"7.98",
"total_refunded_amount_currency_id"=>"USD",
"Timestamp"=>"2014-01-31T01:56:47Z",
"Ack"=>"Success",
"CorrelationID"=>"55810b5eb3c3d",
"Version"=>"72",
"Build"=>"9285531",
"RefundTransactionID"=>"70L01419MK614945K",
"NetRefundAmount"=>"7.75",
"FeeRefundAmount"=>"0.23",
"GrossRefundAmount"=>"7.98",
"TotalRefundedAmount"=>"7.98"},
@success=true,
@test=true>

hth