{"id":20263233,"url":"https://github.com/hanzoai/authorizenet-go","last_synced_at":"2025-08-02T02:43:03.977Z","repository":{"id":57495884,"uuid":"142032257","full_name":"hanzoai/authorizenet-go","owner":"hanzoai","description":"Authorize.net Go client with AIM, CIM and ARB support.","archived":false,"fork":false,"pushed_at":"2018-09-20T21:37:25.000Z","size":230,"stargazers_count":3,"open_issues_count":0,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-26T19:08:35.737Z","etag":null,"topics":["arb","authorize-net","cim","go","payments"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hanzoai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-23T15:18:17.000Z","updated_at":"2025-04-09T10:40:14.000Z","dependencies_parsed_at":"2022-08-28T19:51:21.857Z","dependency_job_id":null,"html_url":"https://github.com/hanzoai/authorizenet-go","commit_stats":null,"previous_names":["hanzoai/goauthorizenet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hanzoai/authorizenet-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanzoai%2Fauthorizenet-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanzoai%2Fauthorizenet-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanzoai%2Fauthorizenet-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanzoai%2Fauthorizenet-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hanzoai","download_url":"https://codeload.github.com/hanzoai/authorizenet-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanzoai%2Fauthorizenet-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268329520,"owners_count":24233058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arb","authorize-net","cim","go","payments"],"created_at":"2024-11-14T11:34:07.942Z","updated_at":"2025-08-02T02:43:03.930Z","avatar_url":"https://github.com/hanzoai.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Authorize.net CIM, AIM, and ARB for Go Language\n\n[![Build Status](https://travis-ci.org/hanzoai/authorizenet.svg?branch=master)](https://travis-ci.org/hanzoai/authorizenet)  [![Code Climate](https://lima.codeclimate.com/github/hanzoai/authorizenet/badges/gpa.svg)](https://lima.codeclimate.com/github/hanzoai/authorizenet) [![Coverage Status](https://coveralls.io/repos/github/hanzoai/authorizenet/badge.svg?branch=master)](https://coveralls.io/github/hanzoai/authorizenet?branch=master) [![GoDoc](https://godoc.org/github.com/hanzoai/authorizenet?status.svg)](https://godoc.org/github.com/hanzoai/authorizenet) [![Go Report Card](https://goreportcard.com/badge/github.com/hanzoai/authorizenet)](https://goreportcard.com/report/github.com/hanzoai/authorizenet)\n\nGive your Go Language applications the ability to store and retrieve credit cards from Authorize.net CIM, AIM, and ARB API.\nThis golang package lets you create recurring subscriptions, AUTH only transactions, voids, refunds, and other functionality connected to the Authorize.net API.\n\n***\n\n# Features\n* [AIM Payment Transactions](https://github.com/hanzoai/authorizenet#payment-transactions)\n* [CIM Customer Information Manager](https://github.com/hanzoai/authorizenet#customer-profile)\n* [ARB Automatic Recurring Billing](https://github.com/hanzoai/authorizenet#recurring-billing) (Subscriptions)\n* [Transaction Reporting](https://github.com/hanzoai/authorizenet#transaction-reporting)\n* [Fraud Management](https://github.com/hanzoai/authorizenet#fraud-management)\n* Creating Users Accounts based on user's unique ID and/or email address\n* Store Payment Profiles (credit card) on Authorize.net using Customer Information Manager (CIM)\n* Create Subscriptions (monthly, weekly, days) with Automated Recurring Billing (ARB)\n* Process transactions using customers stored credit card\n* Delete and Updating payment profiles\n* Add Shipping Profiles into user accounts\n* Delete a customers entire account\n* Tests included and examples below\n\n```go\ncustomer := authorizenet.Customer{\n        ID: \"13838\",\n    }\n\ncustomerInfo := customer.Info()\n\npaymentProfiles := customerInfo.PaymentProfiles()\nshippingProfiles := customerInfo.ShippingProfiles()\nsubscriptions := customerInfo.Subscriptions()\n```\n***\n\n# Usage\n* Import package\n```\ngo get github.com/hanzoai/authorizenet-go\n```\n```go\nimport \"github.com/hanzoai/authorizenet-go\"\n```\n\n## Set HTTP Client\nThis library allows you to set your own HTTP client for talking to the\nAuthorize.net API. This is useful for working in Appengine contexts where a\ndefault client may not exist.\n\nUsage:\n\n```\nimport \"context\"\n\nctx := context.TODO()\nhttpClient := urlfetch.Client(ctx)\n\nhttpClient.Transport = \u0026urlfetch.Transport{\n    Context: ctx,\n    AllowInvalidServerCertificate: appengine.IsDevAppServer(),\n}\n\nclient := authorizenet.New(apiName, apiKey, tesMode)\nclient.SetHTTPClient(httpClient)\n```\n\n## Set Authorize.net API Keys\nYou can get Sandbox Access at:  https://developer.authorize.net/hello_world/sandbox/\n```go\napiName := \"auth_name_here\"\napiKey := \"auth_transaction_key_here\"\nauthorizenet.SetAPIInfo(apiName,apiKey,\"test\")\n// use \"live\" to do transactions on production server\n```\n***\n\n## Included API References\n\n:white_check_mark: Set API Creds\n```go\nfunc main() {\n\n    apiName := \"PQO38FSL\"\n    apiKey := \"OQ8NFBAPA9DS\"\n    apiMode := \"test\"\n\n    authorizenet.SetAPIInfo(apiName,apiKey,apiMode)\n\n}\n```\n***\n\n# Payment Transactions\n\n:white_check_mark: chargeCard\n```go\nnewTransaction := authorizenet.NewTransaction{\n\t\tAmount: \"15.90\",\n\t\tCreditCard: CreditCard{\n\t\t\tCardNumber:     \"4007000000027\",\n\t\t\tExpirationDate: \"10/23\",\n\t\t},\n\t}\nres, err := newTransaction.Charge()\nif res.Approved() {\n\n}\n```\n***\n\n:white_check_mark: authorizeCard\n```go\nnewTransaction := authorizenet.NewTransaction{\n\t\tAmount: \"100.00\",\n\t\tCreditCard: CreditCard{\n\t\t\tCardNumber:     \"4012888818888\",\n\t\t\tExpirationDate: \"10/27\",\n\t\t},\n\t}\nres, err := newTransaction.AuthOnly()\nif res.Approved() {\n\n}\n```\n***\n\n:white_check_mark: capturePreviousCard\n```go\noldTransaction := authorizenet.PreviousTransaction{\n\t\tAmount: \"49.99\",\n\t\tRefId:  \"AUTHCODEHERE001\",\n\t}\nres, err := oldTransaction.Capture()\nif res.Approved() {\n\n}\n```\n***\n\n:white_check_mark: captureAuthorizedCardChannel\n```go\nnewTransaction := authorizenet.NewTransaction{\n\t\tAmount: \"38.00\",\n\t\tCreditCard: CreditCard{\n\t\t\tCardNumber:     \"4012888818888\",\n\t\t\tExpirationDate: \"10/24\",\n\t\t},\n\t\tAuthCode: \"YOURAUTHCODE\",\n\t}\nres, err := newTransaction.Charge()\nif res.Approved() {\n\n}\n```\n***\n\n:white_check_mark: refundTransaction\n```go\nnewTransaction := authorizenet.NewTransaction{\n\t\tAmount: \"15.00\",\n\t\tCreditCard: CreditCard{\n\t\t\tCardNumber:     \"4012888818888\",\n\t\t\tExpirationDate: \"10/24\",\n\t\t},\n\t\tRefTransId: \"0392482938402\",\n\t}\nres, err := newTransaction.Refund()\nif res.Approved() {\n\n}\n```\n***\n\n:white_check_mark: voidTransaction\n```go\noldTransaction := authorizenet.PreviousTransaction{\n\t\tRefId: \"3987324293834\",\n\t}\nres, err := oldTransaction.Void()\nif res.Approved() {\n\n}\n```\n***\n\n:white_medium_square: updateSplitTenderGround\n\n:white_medium_square: debitBankAccount\n\n:white_medium_square: creditBankAccount\n\n:white_check_mark: chargeCustomerProfile\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"49587345\",\n\t\tPaymentID: \"84392124324\",\n\t}\n\nnewTransaction := authorizenet.NewTransaction{\n\t\tAmount: \"35.00\",\n\t}\n\nres, err := newTransaction.ChargeProfile(customer)\n\nif res.Ok() {\n\n}\n```\n***\n\n:white_medium_square: chargeTokenCard\n\n:white_medium_square: creditAcceptPaymentTransaction\n\n:white_medium_square: getAccessPaymentPage\n\n:white_medium_square: getHostedPaymentPageRequest\n\n## Transaction Responses\n```go\nres.Ok()                   // bool\nres.Approved()             // bool\nres.Message()              // string\nres.ErrorMessage()         // string\nres.TransactionID()        // string\nres.AVS()                  // [avsResultCode,cavvResultCode,cvvResultCode]\n```\n***\n\n# Fraud Management\n\n:white_check_mark: getUnsettledTransactionListRequest\n```go\ntransactions := authorizenet.UnsettledBatchList()\nfmt.Println(\"Unsettled Count: \", transactions.Count)\n```\n***\n\n:white_check_mark: updateHeldTransactionRequest\n```go\noldTransaction := authorizenet.PreviousTransaction{\n\t\tAmount: \"49.99\",\n\t\tRefId:  \"39824723983\",\n\t}\n\n\tres, err := oldTransaction.Approve()\n\t//res := oldTransaction.Decline()\n\n\tif res.Ok() {\n\n\t}\n```\n***\n\n# Recurring Billing\n\n:white_check_mark: ARBCreateSubscriptionRequest\n```go\nsubscription := authorizenet.Subscription{\n\t\tName:        \"New Subscription\",\n\t\tAmount:      \"9.00\",\n\t\tTrialAmount: \"0.00\",\n\t\tPaymentSchedule: \u0026PaymentSchedule{\n\t\t\tStartDate:        CurrentDate(),\n\t\t\tTotalOccurrences: \"9999\",\n\t\t\tTrialOccurrences: \"0\",\n\t\t\tInterval: authorizenet.IntervalMonthly(),\n\t\t},\n\t\tPayment: \u0026Payment{\n\t\t\tCreditCard: CreditCard{\n\t\t\t\tCardNumber:     \"4007000000027\",\n\t\t\t\tExpirationDate: \"10/23\",\n\t\t\t},\n\t\t},\n\t\tBillTo: \u0026BillTo{\n\t\t\tFirstName: \"Test\",\n\t\t\tLastName:  \"User\",\n\t\t},\n\t}\n\nres, err := subscription.Charge()\n\nif res.Approved() {\n    fmt.Println(\"New Subscription ID: \",res.SubscriptionID)\n}\n```\n###### For Intervals, you can use simple methods\n```go\nauthorizenet.IntervalWeekly()      // runs every week (7 days)\nauthorizenet.IntervalMonthly()     // runs every Month\nauthorizenet.IntervalQuarterly()   // runs every 3 months\nauthorizenet.IntervalYearly()      // runs every 1 year\nauthorizenet.IntervalDays(\"15\")    // runs every 15 days\nauthorizenet.IntervalMonths(\"6\")   // runs every 6 months\n```\n***\n\n:white_check_mark: ARBCreateSubscriptionRequest from Customer Profile\n```go\nsubscription := authorizenet.Subscription{\n\t\tName:        \"New Customer Subscription\",\n\t\tAmount:      \"12.00\",\n\t\tTrialAmount: \"0.00\",\n\t\tPaymentSchedule: \u0026PaymentSchedule{\n\t\t\tStartDate:        CurrentDate(),\n\t\t\tTotalOccurrences: \"9999\",\n\t\t\tTrialOccurrences: \"0\",\n\t\t\tInterval: authorizenet.IntervalDays(\"15\"),\n\t\t},\n\t\tProfile: \u0026CustomerProfiler{\n\t\t\tCustomerProfileID: \"823928379\",\n\t\t\tCustomerPaymentProfileID: \"183949200\",\n\t\t\t//CustomerShippingProfileID: \"310282443\",\n\t\t},\n\t}\n\n\tres, err := subscription.Charge()\n\n\tif res.Approved() {\n\t\tnewSubscriptionId = res.SubscriptionID\n\t\tfmt.Println(\"Customer #\",res.CustomerProfileId(), \" Created a New Subscription: \", response.SubscriptionID)\n\t}\n```\n***\n\n:white_check_mark: ARBGetSubscriptionRequest\n```go\nsub := authorizenet.SetSubscription{\n\t\tId: \"2973984693\",\n\t}\n\nsubscriptionInfo := sub.Info()\n```\n***\n\n:white_check_mark: ARBGetSubscriptionStatusRequest\n```go\nsub := authorizenet.SetSubscription{\n\t\tId: \"2973984693\",\n\t}\n\nsubscriptionInfo, err := sub.Status()\n\nfmt.Println(\"Subscription ID has status: \",subscriptionInfo.Status)\n```\n***\n\n:white_check_mark: ARBUpdateSubscriptionRequest\n```go\nsubscription := authorizenet.Subscription{\n\t\tPayment: Payment{\n\t\t\tCreditCard: CreditCard{\n\t\t\t\tCardNumber:     \"5424000000000015\",\n\t\t\t\tExpirationDate: \"06/25\",\n\t\t\t},\n\t\t},\n\t\tSubscriptionId: newSubscriptionId,\n\t}\n\nres, err := subscription.Update()\n\nif res.Ok() {\n\n}\n```\n***\n\n:white_check_mark: ARBCancelSubscriptionRequest\n```go\nsub := authorizenet.SetSubscription{\n\t\tId: \"2973984693\",\n\t}\n\nsubscriptionInfo, err := sub.Cancel()\n\nfmt.Println(\"Subscription ID has been canceled: \", sub.Id, \"\\n\")\n```\n***\n\n:white_check_mark: ARBGetSubscriptionListRequest\n```go\ninactive := authorizenet.SubscriptionList(\"subscriptionInactive\")\nfmt.Println(\"Amount of Inactive Subscriptions: \", inactive.Count())\n\nactive := authorizenet.SubscriptionList(\"subscriptionActive\")\nfmt.Println(\"Amount of Active Subscriptions: \", active.Count())\n```\n***\n\n# Customer Profile (CIM)\n\n:white_check_mark: createCustomerProfileRequest\n```go\ncustomer := authorizenet.Profile{\n\t\tMerchantCustomerID: \"86437\",\n\t\tEmail:              \"info@emailhereooooo.com\",\n\t\tPaymentProfiles: \u0026PaymentProfiles{\n\t\t\tCustomerType: \"individual\",\n\t\t\tPayment: Payment{\n\t\t\t\tCreditCard: CreditCard{\n\t\t\t\t\tCardNumber:     \"4007000000027\",\n\t\t\t\t\tExpirationDate: \"10/23\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t}\n\n\tres, err := customer.Create()\n\nif res.Ok() {\n    fmt.Println(\"New Customer Profile Created #\",res.CustomerProfileID)\n    fmt.Println(\"New Customer Payment Profile Created #\",res.CustomerPaymentProfileID)\n} else {\n       fmt.Println(res.ErrorMessage())\n   }\n```\n***\n\n:white_check_mark: getCustomerProfileRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"13838\",\n\t}\n\ncustomerInfo, err := customer.Info()\n\npaymentProfiles := customerInfo.PaymentProfiles()\nshippingProfiles := customerInfo.ShippingProfiles()\nsubscriptions := customerInfo.Subscriptions()\n```\n***\n\n:white_check_mark: getCustomerProfileIdsRequest\n```go\nprofiles, _ := authorizenet.GetProfileIds()\nfmt.Println(profiles)\n```\n***\n\n:white_check_mark: updateCustomerProfileRequest\n```go\ncustomer := authorizenet.Profile{\n\t\tMerchantCustomerID: \"13838\",\n\t\tCustomerProfileId: \"13838\",\n\t\tDescription: \"Updated Account\",\n\t\tEmail:       \"info@updatedemail.com\",\n\t}\n\n\tres := customer.Update()\n\nif res.Ok() {\n\n}\n```\n***\n\n:white_check_mark: deleteCustomerProfileRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"13838\",\n\t}\n\n\tres, err := customer.Delete()\n\nif res.Ok() {\n\n}\n```\n***\n\n# Customer Payment Profile\n\n:white_check_mark: createCustomerPaymentProfileRequest\n```go\npaymentProfile := authorizenet.CustomerPaymentProfile{\n\t\tCustomerProfileID: \"32948234232\",\n\t\tPaymentProfile: PaymentProfile{\n\t\t\tBillTo: BillTo{\n\t\t\t\tFirstName: \"okokk\",\n\t\t\t\tLastName: \"okok\",\n\t\t\t\tAddress: \"1111 white ct\",\n\t\t\t\tCity: \"los angeles\",\n\t\t\t\tCountry: \"USA\",\n\t\t\t\tPhoneNumber: \"8885555555\",\n\t\t\t},\n\t\t\tPayment: Payment{\n\t\t\t\tCreditCard: CreditCard{\n\t\t\t\t\tCardNumber: \"5424000000000015\",\n\t\t\t\t\tExpirationDate: \"04/22\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultPaymentProfile: \"true\",\n\t\t},\n\t}\n\nres, err := paymentProfile.Add()\n\nif res.Ok() {\n\n} else {\n    fmt.Println(res.ErrorMessage())\n}\n```\n***\n\n:white_check_mark: getCustomerPaymentProfileRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"3923482487\",\n\t}\n\nres, err := customer.Info()\n\npaymentProfiles := res.PaymentProfiles()\n```\n\n:white_check_mark: getCustomerPaymentProfileListRequest\n```go\nprofileIds := authorizenet.GetPaymentProfileIds(\"2017-03\",\"cardsExpiringInMonth\")\n```\n***\n\n:white_check_mark: validateCustomerPaymentProfileRequest\n```go\ncustomerProfile := authorizenet.Customer{\n\t\tID: \"127723778\",\n\t\tPaymentID: \"984583934\",\n\t}\n\nres, err := customerProfile.Validate()\n\nif res.Ok() {\n\n}\n```\n***\n\n:white_check_mark: updateCustomerPaymentProfileRequest\n```go\ncustomer := authorizenet.Profile{\n\t\tCustomerProfileId:  \"3838238293\",\n\t\tPaymentProfileId: \"83929382739\",\n\t\tEmail:              \"info@updatedemail.com\",\n\t\tPaymentProfiles: \u0026PaymentProfiles{\n\t\t\tPayment: Payment{\n\t\t\t\tCreditCard: CreditCard{\n\t\t\t\t\tCardNumber: \"4007000000027\",\n\t\t\t\t\tExpirationDate: \"01/26\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tBillTo: \u0026BillTo{\n\t\t\t\tFirstName:   \"newname\",\n\t\t\t\tLastName:    \"golang\",\n\t\t\t\tAddress:     \"2841 purple ct\",\n\t\t\t\tCity:        \"los angeles\",\n\t\t\t\tState:\t\t  \"CA\",\n\t\t\t\tZip:            \"93939\",\n\t\t\t\tCountry:     \"USA\",\n\t\t\t\tPhoneNumber: \"8885555555\",\n\t\t\t},\n\t\t},\n\t}\n\nres, err := customer.UpdatePaymentProfile()\n\nif res.Ok() {\n    fmt.Println(\"Customer Payment Profile was Updated\")\n} else {\n    fmt.Println(res.ErrorMessage())\n}\n```\n***\n\n:white_check_mark: deleteCustomerPaymentProfileRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"3724823472\",\n\t\tPaymentID: \"98238472349\",\n\t}\n\nres, err := customer.DeletePaymentProfile()\n\nif res.Ok() {\n    fmt.Println(\"Payment Profile was Deleted\")\n} else {\n    fmt.Println(res.ErrorMessage())\n}\n```\n***\n\n# Customer Shipping Profile\n\n:white_check_mark: createCustomerShippingAddressRequest\n```go\ncustomer := authorizenet.Profile{\n\t\tMerchantCustomerID: \"86437\",\n\t\tCustomerProfileId:  \"7832642387\",\n\t\tEmail:              \"info@emailhereooooo.com\",\n\t\tShipping: \u0026Address{\n\t\t\tFirstName:   \"My\",\n\t\t\tLastName:    \"Name\",\n\t\t\tCompany:     \"none\",\n\t\t\tAddress:     \"1111 yellow ave.\",\n\t\t\tCity:        \"Los Angeles\",\n\t\t\tState:       \"CA\",\n\t\t\tZip:         \"92039\",\n\t\t\tCountry:     \"USA\",\n\t\t\tPhoneNumber: \"8885555555\",\n\t\t},\n\t}\n\nres, err := customer.CreateShipping()\n\nif res.Ok() {\n    fmt.Println(\"New Shipping Added: #\",res.CustomerAddressID)\n} else {\n    fmt.Println(res.ErrorMessage())\n}\n```\n***\n\n:white_check_mark: getCustomerShippingAddressRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"3842934233\",\n\t}\n\nres, err := customer.Info()\n\nshippingProfiles := res.ShippingProfiles()\n\nfmt.Println(\"Customer Shipping Profiles\", shippingProfiles)\n```\n***\n\n:white_check_mark: updateCustomerShippingAddressRequest\n```go\ncustomer := authorizenet.Profile{\n\t\tCustomerProfileId:  \"398432389\",\n\t\tCustomerAddressId: \"848388438\",\n\t\tShipping: \u0026Address{\n\t\t\tFirstName:   \"My\",\n\t\t\tLastName:    \"Name\",\n\t\t\tCompany:     \"none\",\n\t\t\tAddress:     \"1111 yellow ave.\",\n\t\t\tCity:        \"Los Angeles\",\n\t\t\tState:       \"CA\",\n\t\t\tZip:         \"92039\",\n\t\t\tCountry:     \"USA\",\n\t\t\tPhoneNumber: \"8885555555\",\n\t\t},\n\t}\n\nres, err := customer.UpdateShippingProfile()\n\nif res.Ok() {\n    fmt.Println(\"Shipping Profile was updated\")\n}\n```\n***\n\n:white_check_mark: deleteCustomerShippingAddressRequest\n```go\ncustomer := authorizenet.Customer{\n\t\tID: \"128749382\",\n\t\tShippingID: \"34892734829\",\n\t}\n\n\tres, err := customer.DeleteShippingProfile()\n\n\tif res.Ok() {\n\t\tfmt.Println(\"Shipping Profile was Deleted\")\n\t} else {\n\t\tfmt.Println(res.ErrorMessage())\n\t}\n```\n***\n\n:white_medium_square: getHostedProfilePageRequest\n\n:white_medium_square: createCustomerProfileFromTransactionRequest\n\n# Transaction Reporting\n\n:white_check_mark: getSettledBatchListRequest\n```go\nlist := authorizenet.Range{\n\t\tStart: LastWeek(),\n\t\tEnd:   Now(),\n\t}\n\nbatches := list.SettledBatch().List()\n\nfor _, v := range batches {\n    t.Log(\"Batch ID: \", v.BatchID, \"\\n\")\n    t.Log(\"Payment Method: \", v.PaymentMethod, \"\\n\")\n    t.Log(\"State: \", v.SettlementState, \"\\n\")\n}\n```\n***\n\n:white_check_mark: getUnSettledBatchListRequest\n```go\nbatches := authorizenet.UnSettledBatch().List()\n\nfor _, v := range batches {\n    t.Log(\"Status: \",v.TransactionStatus, \"\\n\")\n    t.Log(\"Amount: \",v.Amount, \"\\n\")\n    t.Log(\"Transaction ID: #\",v.TransID, \"\\n\")\n}\n\n```\n***\n\n:white_check_mark: getTransactionListRequest\n```go\nlist := authorizenet.Range{\n\t\tBatchId: \"6933560\",\n\t}\n\nbatches := list.Transactions().List()\n\nfor _, v := range batches {\n    t.Log(\"Transaction ID: \", v.TransID, \"\\n\")\n    t.Log(\"Amount: \", v.Amount, \"\\n\")\n    t.Log(\"Account: \", v.AccountNumber, \"\\n\")\n}\n```\n***\n\n:white_check_mark: getTransactionDetails\n```go\noldTransaction := authorizenet.PreviousTransaction{\n\t\tRefId: \"60019493304\",\n\t}\nres := oldTransaction.Info()\n\nfmt.PrintLn(\"Transaction Status: \",res.TransactionStatus,\"\\n\")\n```\n***\n\n:white_check_mark: getBatchStatistics\n```go\nlist := authorizenet.Range{\n\t\tBatchId: \"6933560\",\n\t}\n\nbatch := list.Statistics()\n\nfmt.PrintLn(\"Refund Count: \", batch.RefundCount, \"\\n\")\nfmt.PrintLn(\"Charge Count: \", batch.ChargeCount, \"\\n\")\nfmt.PrintLn(\"Void Count: \", batch.VoidCount, \"\\n\")\nfmt.PrintLn(\"Charge Amount: \", batch.ChargeAmount, \"\\n\")\nfmt.PrintLn(\"Refund Amount: \", batch.RefundAmount, \"\\n\")\n```\n***\n\n:white_check_mark: getMerchantDetails\n```go\ninfo := authorizenet.GetMerchantDetails()\n\nfmt.PrintLn(\"Test Mode: \", info.IsTestMode, \"\\n\")\nfmt.PrintLn(\"Merchant Name: \", info.MerchantName, \"\\n\")\nfmt.PrintLn(\"Gateway ID: \", info.GatewayID, \"\\n\")\n```\n***\n\n# ToDo\n* Organize and refactor some areas\n* Add Bank Account Support\n* Make tests fail if transactions fail (skipping 'duplicate transaction')\n\n### Authorize.net CIM Documentation\nhttp://developer.authorize.net/api/reference/#customer-profiles\n\n### Authorize.net Sandbox Access\nhttps://developer.authorize.net/hello_world/sandbox/\n\n# License\n[MIT](LICENSE). Originally forked from https://github.com/hunterlong/AuthorizeCIM.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanzoai%2Fauthorizenet-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanzoai%2Fauthorizenet-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanzoai%2Fauthorizenet-go/lists"}