Symptoms

Provider has developed a custom Payment Gateway using Payment Plug-in SDK Guide. When a customer tries to add a payment method for such custom payment system, it is not saved to his account despite the successful response from the gateway.

Cause

One of the possible causes is incorrect payment plugin implementation. According to the Answer Format section of the SDK Guide, plugin's method %Plug-in_name%_Callback must return ADD_NEW_METHOD array having at least one mandatory parameter to save a payment method. In billing.scheduler.log the following lines indicate if a payment method will be created or not:

[01-01-01 00:00:00.413 TaskRunner_ RQ010000 TH12345 TRC]       +++[6] void bEActivity::sendJsonRequest(Str, const Str&, Str&)(http://127.0.0.1:9445/)
...
[01-01-01 00:00:00.453 TaskRunner_ RQ010000 TH12345 TRC] Http result code: 200
...
[01-01-01 00:00:00.478 TaskRunner_ RQ010000 TH12345 TRC] newPayMethodCreated: 0

Where the "newPayMethodCreated" record shows if the billing received a valid ADD_NEW_METHOD array in the payment gate response.

Resolution

Contact the plugin developers to clarify why the %Plug-in_name%_Callback method does not return an appropriate ADD_NEW_METHOD array even if a payment gateway returns the "APPROVED" status.

Internal content