Package: nmigate
NMI GatewayThis is a nmi handy package to interact with the nmi gateway endpoints, you can find the original documentation here:https://secure.networkmerchants.com/gw/merchants/resources/integration/integration_portal.php#cv_variablesThis package was build with the unique intention to make the integration with the gateway easy.ExamplesCustomer Vault methodsCreate customer vaultfromnmigate.lib.customer_vaultimportCustomerVaultsecret_key='your secret key'org='your org'token='your test token here'# test token "00000000-000000-000000-000000000000"customer_vault=CustomerVault(secret_key,org)result=customer_vault.create_customer_vault({"id":"","token":token,"billing_id":"","billing_info":{"first_name":"1","last_name":"1","address1":"1","city":"1","state":"1","zip":"1","country":"1","phone":"1","email":"1"}})Get billing info by transaction idfromnmigate.lib.customer_vaultimportCustomerVaultsecret_key='your secret key'org='your org'transaction_id='transaction id 'customer_vault=CustomerVault(secret_key,org)result=customer_vault.get_billing_info_by_transaction_id(transaction_id)PlansGet all plansfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plansObj=Plans(secret_key,org)response=plansObj.get_all_plans()plans=response['nm_response']['plan']Get planfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plan_id='your plan id'plans=Plans(secret_key,org)response=plans.get_plan(plan_id)Add plan using frequency configurationfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plans=Plans(secret_key,org)response=plans.add_plan_by_day_frequency({'plan_amount':'10.00','plan_name':'test','plan_id':'test','day_frequency':'1','plan_payments':'0'})Edit day frequency planfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plans=Plans(secret_key,org)response=plans.edit_plan_by_day_frequency({"recurring":"edit_plan",'plan_amount':'10.00','plan_name':'test','plan_id':'test','day_frequency':'2','plan_payments':'0'})Add plan using month configfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plans=Plans(secret_key,org)response=plans.add_plan_by_month_config({'plan_amount':'10.00','plan_name':'test','plan_id':'test1','month_frequency':'1',"day_of_month":'1','plan_payments':'0'})Edit plan using month configfromnmigate.src.nmigate.lib.plansimportPlanssecret_key='your secret key'org='your org'plans=Plans(secret_key,org)response=plans.edit_plan_by_month_config({'plan_amount':'10.00','plan_name':'test','plan_id':'test1','month_frequency':'1',"day_of_month":'10','plan_payments':'0'})SubscriptionsGet Subscriptionsfromnmigate.lib.customer_vaultimportCustomerVaultsecret_key='your secret key'org='your org'subscription_id='customer vault id'subscriptions=Subscriptions(secret_key,org)info=subscriptions.get_info(subscription_id)print(result)Subscription + sale, using plan_id and customer vaultIf total_amount = 0 then its a simple subscription, if total_amount > 0 then its a subscription with salefromnmigate.lib.customer_vaultimportCustomerVaultsecret_key='your secret key'org='your org'customer_vault_id='customer vault id'subscriptions=Subscriptions(secret_key,org)result=subscriptions.custom_sale_using_vault(plan_id=customer_vault_id,customer_vault_id=customer_vault_id,create_customer_vault=False)print(result)Custome Subscription + sale, using vault number and month frequency configurationfromnmigate.lib.subscriptionsimportSubscriptionssecret_key='your secret key'org='your org'subscriptions=Subscriptions(secret_key,org)result=subscriptions.custom_sale_using_vault_month_frequency(request_sub={"user_id":"1","total_amount":"11","custom_subscription_info":{"plan_payments":"13","plan_amount":"12","month_frequency":"1","day_of_month":"1"}})print(result)Custome Subscription + sale, using vault number and day frequency configurationfromnmigate.lib.subscriptionsimportSubscriptionssecret_key='your secret key'org='your org'subscriptions=Subscriptions(secret_key,org)result=subscriptions.custom_with_sale_and_vault_day_frequency(request_sub={"user_id":"1","total_amount":"14","custom_subscription_info":{"plan_payments":"15","plan_amount":"6","day_frequency":"1"}})print(result)Delete subscriptionfromnmigate.lib.subscriptionsimportSubscriptionssecret_key='your secret key'org='your org'subscription_id='your subscription_id'subscriptions=Subscriptions(secret_key,org)info=subscriptions.delete_subscription(subscription_id)Pause/resume Subscriptionfromnmigate.lib.subscriptionsimportSubscriptionssecret_key='your secret key'org='your org'subscription_id='your subscription_id'pause=True# True to pause, False to unpausetransactions=Subscriptions(secret_key,org)result=transactions.pause_subscription(subscription_id,pause)