Authorize.net: вручную перезарядить клиента после неудачной транзакции ARB - PullRequest
1 голос
/ 17 августа 2011

Мы используем Automated Recurring Billing от Authorize.net, и в случае сбоя оплаты подписки клиента, есть ли способ вручную повторно попытаться взимать с клиента плату за подписку? Единственный способ, которым я когда-либо был в состоянии заставить это работать, состоит в том, чтобы получить их информацию CC и вручную ввести транзакцию, но в тех случаях, когда на машине клиента просто не хватало средств / и т.д., это боль (и далеко не идеальная), чтобы попросить их повторно ввести информацию о ЦК, чтобы мы могли попытаться снова их зарядить. Есть ли способ инициировать ARB, чтобы повторить транзакцию или создать одноразовую транзакцию AIM из подписки без запроса их информации CC?

Ответы [ 4 ]

6 голосов
/ 04 декабря 2011

Я думаю, что в этом вопросе есть некоторая дезинформация.

Authorize.NET позволяет вам «хранить» информацию о счетах клиентов (данные CC и т. Д.) В их системе (избегая всех плохих действий, возникающих при локальном хранении данных CC).

Вы можете сделать это, используя метод CreateCustomerProfile.

Ответ этого метода - это, в основном, некоторые ключи для уникальной идентификации своей учетной записи в системе Authorize.NET.

Используйте этот идентификатор учетной записи, который вы можете выставлять счетам по их специальному счету CC всякий раз, когда / хотя вы хотите использовать метод CreateCustomerProfileTransaction.

Если один из их платежей не будет выполнен, например, из-за нехватки средств, - вы можете попытаться пополнить их позже, используя этот подход.

Если, однако, его информация о CC меняется - вам нужно позволить клиенту обновить информацию о CC - и использовать методы Authorize.NET для обновления своего профиля.

2 голосов
/ 15 декабря 2011

Используйте Authorize.net CIM API для хранения информации о вашей кредитной карте клиента, а не для ее локального хранения. Если по какой-либо причине транзакция ARB завершается неудачно, вы можете использовать API CIM для разового списания средств с вашего клиента (см. Create_customer_profile_transaction в API CIM).

2 голосов
/ 21 августа 2011

После исследования я определил, что есть два варианта:

  1. Хранить номер кредитной карты в зашифрованном виде
  2. Ничего не делать.

Поскольку хранить их в зашифрованном виде - это больше, чем я хотел в этот раз, мне придется перейти к варианту 2.

Authorize.net имеет довольно слабый API. Если у кого-нибудь есть рекомендации для платежного шлюза, API которого не в каменном веке, я бы хотел услышать об этом.

Cheers, Dan

1 голос
/ 03 декабря 2011

Если транзакция не удалась из-за того, что карта больше не действительна, не устарела или не имеет своего лимита, вы не сможете пополнить ее, даже если у вас была информация о кредитной карте.В любом случае вам потребуется, чтобы клиент предоставил вам новую кредитную карту, чтобы вы могли обновить их подписку и взимать с них плату за пропущенный платеж в этот момент времени.

...