У меня проблема с повторением транзакций на SagePay. Служба поддержки сказала, что они включили его для меня (на тестовом аккаунте), но не могут получить иного ответа от их поддержки.
Тем не мение. Я использую интеграцию с SERVER и библиотеку SagePay для этого.
Мне удалось пройти платеж, но при попытке ПОВТОРИТЬ он не прошел.
Вот что я отправляю:
array(42) {
["VPSProtocol"]=>
string(4) "3.00"["TxType"]=>
string(6) "REPEAT"["Vendor"]=>
string(15) "vendor_name"["VendorTxCode"]=>
string(27) "REPEAT-1464105247-000000000"["Amount"]=>
string(6) "155.36"["Currency"]=>
string(3) "GBP"["Description"]=>
string(42) "Description"["NotificationURL"]=>
string(66) "http://example.com/sagepay_notification/"["BillingSurname"]=>
string(6) "Surname"["BillingFirstnames"]=>
string(6) "Firstname"["BillingAddress1"]=>
string(22) "First line address"["BillingCity"]=>
string(7) "City"["BillingPostCode"]=>
string(7) "PostCode"["BillingCountry"]=>
string(2) "GB"["DeliverySurname"]=>
string(6) "Surname"["DeliveryFirstnames"]=>
string(6) "Firstname"["DeliveryAddress1"]=>
string(22) "First line address"["DeliveryCity"]=>
string(7) "City"["DeliveryPostCode"]=>
string(7) "PostCode"["DeliveryCountry"]=>
string(2) "GB"["StoreToken"]=>
int(1)
["CustomerName"]=>
string(13) "Firstname Lastname"["CustomerEMail"]=>
string(0) ""["VendorEMail"]=>
string(0) ""["SendEMail"]=>
int(0)
["eMailMessage"]=>
string(0) ""["BillingAddress2"]=>
string(11) "Town Centre"["BillingPhone"]=>
string(11) "07000000000"["ApplyAVSCV2"]=>
int(0)
["Apply3DSecure"]=>
int(0)
["AllowGiftAid"]=>
int(1)
["BillingAgreement"]=>
int(1)
["RelatedVPSTxId"]=>
string(38) "{00000C44-0000-0000-0000-849C140E0000}"["RelatedVendorTxCode"]=>
string(28) "PAYMENT-1463754864-000000000"["RelatedSecurityKey"]=>
string(10) "LPSS900000"["RelatedTxAuthNo"]=>
string(8) "109700000"["DeliveryAddress2"]=>
string(11) "Town Centre"["DeliveryPhone"]=>
string(11) "0700000000"["BasketXML"]=>
string(300) "Installment1155.360.00155.36155.36"["SurchargeXML"]=>
string(175) "MC5VISA3.5"["Profile"]=>
string(6) "NORMAL"["AccountType"]=>
string(1) "E"}
И вот мой ответ:
array(3) {
["VPSProtocol"]=>
string(4) "3.00"["Status"]=>
string(7) "INVALID"["StatusDetail"]=>
string(44) "3014 : The TxType or PaymentType is invalid."}
Есть идеи, почему у меня все еще есть эта ошибка?
Я разобрался с этим.
Проблема заключалась в том, что я не заметил, что повторные платежи должны отправляться на другой URL-адрес.
REPEAT / REPEATDEFERRED TEST
https://test.sagepay.com/gateway/service/repeat.vsp ПОВТОРЕНИЕ /
REPEATDEFERRED LIVE
https://live.sagepay.com/gateway/service/repeat.vsp
Других решений пока нет …