forked from SeungpilPark/uEngine-bill
-
Notifications
You must be signed in to change notification settings - Fork 7
Overdue(연체) 규칙 생성 및 프레임워크 등록 메뉴얼
Seungpil Park edited this page May 22, 2017
·
3 revisions
테스트 목표: 결제 플러그인에서 고의로 결제 실패를 발생시킬 때, 결제 재시도 설정에 마추어 결제 재시도가 이루어지는지 확인하는 테스트
- 빌링 서버에 결제 테스트용 루비 플러그인을 등록한다.
curl -v \
-u admin:password \
-H "Content-Type: application/json" \
-H 'X-Killbill-CreatedBy: stephane' \
-X POST \
--data-binary '{"systemCommandType":"true","nodeCommandType":"INSTALL_PLUGIN","nodeCommandProperties":[{"key":"pluginKey", "value":"payment-test"},{"key":"pluginArtifactId", "value": "payment-test-plugin"},{"key":"pluginGroupId", "value": "org.kill-bill.billing.plugin.ruby"}, {"key": "pluginType", "value": "ruby"} ]}' \
"http://127.0.0.1:8080/1.0/kb/nodesInfo"
- 설치 후 결제 플러그인을 재시작 하는 명령을 보낸다.
curl -v \
-u admin:password \
-H "Content-Type: application/json" \
-H 'X-Killbill-CreatedBy: stephane' \
-X POST \
--data-binary '{"systemCommandType":true,"nodeCommandType":"RESTART_PLUGIN","nodeCommandProperties":[{"key":"pluginKey","value":"payment-test"}]}' \
"http://127.0.0.1:8080/1.0/kb/nodesInfo"
- 테스트 결제 플러그인의 결제 수행을 무조건 실패로 전송하도록 설정한다.
curl -v \
-u'admin:password' \
-H "X-Killbill-ApiKey: sppark" \
-H "X-Killbill-ApiSecret: sppark" \
-H "Content-Type: application/json" \
-H 'X-Killbill-CreatedBy: demo' \
-X POST \
--data-binary '{"CONFIGURE_ACTION":"ACTION_RETURN_PLUGIN_STATUS_ERROR", "METHODS":"purchase_payment"}' \
-v 'http://127.0.0.1:8080/plugins/killbill-payment-test/configure'
- 테넌트의 결제 재시도 규칙을 설정한다. 규칙은 1,1,1 은 하루단위로 세번에 걸쳐 결제 재시도를 하게 된다.
curl -v \
-u admin:password \
-H "X-Killbill-ApiKey: sppark" \
-H 'X-Killbill-ApiSecret: sppark' \
-H "Content-Type: text/plain" \
-H 'X-Killbill-CreatedBy: stephane' \
-X POST \
--data-binary '{"org.killbill.payment.retry.days":"1,1,1"}' \
"http://127.0.0.1:8080/1.0/kb/tenants/uploadPerTenantConfig"
- 구매자 계정으로 하여금 구독을 하나 신청한다.
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'X-Killbill-CreatedBy: Swagger'
--header 'Authorization: <token>'
--header 'X-organization-id: c16ba270-2842-4339-ac35-91c225eaf185'
-d '{
"accountId": "9c3f0bea-d1e1-40ae-98bf-81d317885288",
"planName": "PRD_0000000017_PL_000002"
}'
'http://localhost:18080/rest/v1/subscriptions?migrated=false&callCompletion=false&callTimeoutSec=3'
- 빌링 서버의 시간을 1일 씩 총 3번을 경과시키면서, 결제 재시도 트랜잭션을 조회하여 본다.
mysql> SELECT * FROM killbill.payment_transactions where account_record_id = 1;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1720
Current database: killbill
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+------------------+---------------------+--------------------+--------------+----------+------------------+--------------------+--------------------------------------+--------------------+-------------------+-------------------------+---------------------+-------------------------+---------------------+-------------------+------------------+
| record_id | id | attempt_id | transaction_external_key | transaction_type | effective_date | transaction_status | amount | currency | processed_amount | processed_currency | payment_id | gateway_error_code | gateway_error_msg | created_by | created_date | updated_by | updated_date | account_record_id | tenant_record_id |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+------------------+---------------------+--------------------+--------------+----------+------------------+--------------------+--------------------------------------+--------------------+-------------------+-------------------------+---------------------+-------------------------+---------------------+-------------------+------------------+
| 1 | 519f8497-c9fc-4bd2-bf7e-157da5c9491c | 77eb58d1-ff99-4d25-b70a-2ba4217f6337 | 519f8497-c9fc-4bd2-bf7e-157da5c9491c | PURCHASE | 2017-05-17 00:00:51 | FAILED | 10.000000000 | USD | 10.000000000 | USD | 593bdc04-2f80-4107-ba45-6d572b4bc086 | NULL | NULL | uEngine | 2017-05-17 00:00:51 | uEngine | 2017-05-17 00:00:51 | 1 | 1 |
| 2 | 989ae412-8c52-4f62-b7a6-4fabeed8ba90 | 609b7e53-87a7-41fa-8a1e-5ca5982d508b | 989ae412-8c52-4f62-b7a6-4fabeed8ba90 | PURCHASE | 2017-05-18 00:00:04 | FAILED | 10.000000000 | USD | 20.000000000 | USD | 4512430b-e256-4eed-bb57-73d80ab2813e | NULL | NULL | PaymentRequestProcessor | 2017-05-18 00:00:04 | uEngine | 2017-05-18 00:00:04 | 1 | 1 |
| 3 | 854ac611-25d2-4d91-89fd-379af09a25ad | f47dd625-8aed-42f0-9f45-9d6901a558ea | 854ac611-25d2-4d91-89fd-379af09a25ad | PURCHASE | 2017-05-19 00:00:04 | FAILED | 10.000000000 | USD | 65.000000000 | USD | 8a55179b-38bb-4a43-995d-acc1bd0b2d26 | NULL | NULL | PaymentRequestProcessor | 2017-05-19 00:00:04 | uEngine | 2017-05-19 00:00:04 | 1 | 1 |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+------------------+---------------------+--------------------+--------------+----------+------------------+--------------------+--------------------------------------+--------------------+-------------------+-------------------------+---------------------+-------------------------+---------------------+-------------------+------------------+
3 rows in set (0.29 sec)