DEVELOPER

B2B API Specification

Version version: 3.1.0

production
sandbox

B2B Payment API

Refund Authorization

As per the VISA, MasterCard and Discover Card brand enhancement mandates, a Refund Authorization or "Purchase Return Authorization" enables a card issuer to authorize and validate a refund for a cardholder, as well as identify if the account doesn't exist or has been closed. At this time this feature is only available for Visa, MasterCard and Discover transactions however, we anticipate this feature will be added for the other card brands in the future. Updates will be made as other Card Brands begin supporting this feature.

Encrypted values by the PayTrace End-to-end encryption (e2ee) Library
must be used with Refund requests.
      

Keyed Refund Authorization (Card Not Present)

post /v3/card/refund-auth/keyed

A Keyed Refund Authorization can be performed when the card is NOT present.

This method can be used to issue a credit back to the credit card holder's account.

Encrypted values by the PayTrace End-to-end encryption (e2ee) Library
must be used with this request.

In order to avoid potential fees, PayTrace recommends
using the Refund Authorization methods rather than
the Refund methods.

Currently, not all card processors support this feature.
Those that do not currently support this feature have an
extension in place with VISA, MasterCard and Discover to
not accrue fees on the Merchant.

For integrators using Card Processors that currently do
not support this feature, VISA, MasterCard and Discover
Refund transactions will be processed as regular Refunds
and will not contain Authorization data.

This type of refund is known as an unreferenced
refund. Please note there potentially is an increased
risk of nefarious activity occurring with this type of
refund request. For this reason, the permission needed
to perform an Unreferenced Refund is disabled on live
and sandbox accounts. It is recommended that the feature
be disabled unless absolutely needed. If in the event
this feature is needed, you can have it enabled by
speaking with your Merchant Service Provider for live
accounts or contacting our 5-star Support for sandbox
accounts.
Parameters
X-Integrator-Id
string
Maximum:
12

Loading...

X-Permalinks
string
Maximum:
4

Loading...

Request Schema
amount required
number
Example:
80.55

Loading...

billing_address
object

Loading...

billing_name
string
Maximum:
50

Loading...

card required
object

Loading...

csc
string329 to 359 characters
Example:
htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3 jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr 9WKv92V3M+H6Gsx7z0iCbn+8Ug==

Loading...

billing_email
string
Example:
email@domain.com

Loading...

billing_phone
string
Maximum:
20

Loading...

customer_reference_id
string
Maximum:
50
Example:
PO123456

Loading...

description
string
Example:
business services

Loading...

force_partial_auth_capability
boolean

Loading...

invoice_number
string
Example:
17

Loading...

merchant_id required
integer
Example:
246810

Loading...

custom_dba
string
Example:
Doing Business As Test Company

Loading...

return_clr
boolean
Example:
false

Loading...

customer_id
integer

Loading...

shipping_address
object

Loading...

shipping_name
string
Example:
Steve Smith

Loading...

tax_amount
string
Example:
2.16

Loading...

discretionary_data
array

Loading...

surcharge_info
object
Default:
[object Object]

Loading...

Example Request
{
  "amount": 80.55,
  "billing_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "billing_name": "string",
  "card": {
    "number": "htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
    "expiration_month": 11,
    "expiration_year": 28
  },
  "csc": "htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
  "billing_email": "email@domain.com",
  "billing_phone": "string",
  "customer_reference_id": "PO123456",
  "description": "business services",
  "force_partial_auth_capability": "boolean",
  "invoice_number": "17",
  "merchant_id": 246810,
  "custom_dba": "Doing Business As Test Company",
  "customer_id": "integer",
  "shipping_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "shipping_name": "Steve Smith",
  "tax_amount": "2.16",
  "discretionary_data": {
    "disc_id": "integer",
    "value": "string"
  },
  "surcharge_info": {}
}
Example Response
200 Successful Response
422 Validation Error

Swiped Refund Authorization (Card Present)

post /v3/card/refund-auth/swiped

This method can be used when a credit card is present. It issues credit back to the credit card holder's account.

Encrypted values by the PayTrace Client-Side Encryption
JavaScript Library must be used with this request.
Parameters
X-Integrator-Id
string
Maximum:
12

Loading...

X-Permalinks
string
Maximum:
4

Loading...

Request Schema
amount required
number
Example:
80.55

Loading...

billing_address
object

Loading...

billing_name
string
Example:
Steve Smith

Loading...

csc
string329 to 359 characters
Example:
htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3 jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr 9WKv92V3M+H6Gsx7z0iCbn+8Ug==

Loading...

billing_email
string
Example:
email@domain.com

Loading...

billing_phone
string
Maximum:
20

Loading...

customer_reference_id
string
Maximum:
50
Example:
PO123456

Loading...

description
string
Example:
business services

Loading...

force_partial_auth_capability
boolean

Loading...

invoice_number
string
Example:
17

Loading...

merchant_id required
integer
Example:
246810

Loading...

custom_dba
string
Example:
Doing Business As Test Company

Loading...

return_clr
boolean
Example:
false

Loading...

swipe required
string329 to 560 characters
Example:
If this is a Magensa Reader encrypted: <br> %B403000007. 004896^YOU/A GIFT FOR ^3001000000000000000000000000000?; 4030000070004896=30010000000000000000?|0600|02A2B0CF2BE290CDF59DF1AE911E58170FE96 B48D3743EF96B55FC679DD331880471F54BCD34DB2A5C5773C5EC4DA60D4B26A2712658159F4FAEA26E7 FCAE7588E5AFE905A5E33039D3FC76C2EA15FF1|1E2ED1FBAD9FCE68031F5BCC3A3F380F1B13B234A28791 93B2DE4D75477C33036F25602B33373B26||61403000|67CF6FD161D11FC8E86DFA58E107F08C43D43593478 4A58078C01D62CD55EDF3DEC4BEB8F8036B1C7E3D449EE12A3B5551603809F0BCA03B|B03F953080911AA|F7914 A6718FB78CF|9011880B03F953000204|288A||0000 <br><br> If this is encrypted using e2ee Library: <br> htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3 jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr 9WKv92V3M+H6Gsx7z0iCbn+8Ug==

Loading...

shipping_address
object

Loading...

shipping_name
string
Example:
Steve Smith

Loading...

tax_amount
string
Example:
2.16

Loading...

discretionary_data
array

Loading...

surcharge_info
object
Default:
[object Object]

Loading...

Example Request
{
  "amount": 80.55,
  "billing_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "billing_name": "Steve Smith",
  "csc": "htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
  "billing_email": "email@domain.com",
  "billing_phone": "string",
  "customer_reference_id": "PO123456",
  "description": "business services",
  "force_partial_auth_capability": "boolean",
  "invoice_number": "17",
  "merchant_id": 246810,
  "custom_dba": "Doing Business As Test Company",
  "swipe": "If this is a Magensa Reader encrypted: <br>             %B403000007. 004896^YOU/A GIFT FOR           ^3001000000000000000000000000000?;             4030000070004896=30010000000000000000?|0600|02A2B0CF2BE290CDF59DF1AE911E58170FE96              B48D3743EF96B55FC679DD331880471F54BCD34DB2A5C5773C5EC4DA60D4B26A2712658159F4FAEA26E7             FCAE7588E5AFE905A5E33039D3FC76C2EA15FF1|1E2ED1FBAD9FCE68031F5BCC3A3F380F1B13B234A28791             93B2DE4D75477C33036F25602B33373B26||61403000|67CF6FD161D11FC8E86DFA58E107F08C43D43593478             4A58078C01D62CD55EDF3DEC4BEB8F8036B1C7E3D449EE12A3B5551603809F0BCA03B|B03F953080911AA|F7914             A6718FB78CF|9011880B03F953000204|288A||0000 <br><br>            If this is encrypted using e2ee Library: <br>            htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
  "shipping_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "shipping_name": "Steve Smith",
  "tax_amount": "2.16",
  "discretionary_data": {
    "disc_id": "integer",
    "value": "string"
  },
  "surcharge_info": {}
}
Example Response
200 Successful Response
422 Validation Error

Refund Authorization By Transaction ID

post /v3/card/refund-auth/by-transaction/{transaction_id}

This method can be used to process a refund of a settled transaction. If the amount is submitted, a specific amount will be refunded with the credit card used in the referred transaction.

Parameters
transaction_id required
string

Loading...

X-Integrator-Id
string
Maximum:
12

Loading...

X-Permalinks
string
Maximum:
4

Loading...

Request Schema
amount
number
Example:
80.55

Loading...

billing_address
object

Loading...

billing_name
string
Example:
Steve Smith

Loading...

csc
string329 to 359 characters
Example:
htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3 jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr 9WKv92V3M+H6Gsx7z0iCbn+8Ug==

Loading...

billing_email
string
Example:
email@domain.com

Loading...

billing_phone
string
Maximum:
20

Loading...

customer_reference_id
string
Maximum:
50
Example:
PO123456

Loading...

description
string
Example:
business services

Loading...

invoice_number
string
Example:
17

Loading...

merchant_id required
integer
Example:
246810

Loading...

shipping_address
object

Loading...

shipping_name
string
Example:
Steve Smith

Loading...

tax_amount
string
Example:
2.16

Loading...

discretionary_data
array

Loading...

Example Request
{
  "amount": 80.55,
  "billing_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "billing_name": "Steve Smith",
  "csc": "htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
  "billing_email": "email@domain.com",
  "billing_phone": "string",
  "customer_reference_id": "PO123456",
  "description": "business services",
  "invoice_number": "17",
  "merchant_id": 246810,
  "shipping_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "shipping_name": "Steve Smith",
  "tax_amount": "2.16",
  "discretionary_data": {
    "disc_id": "integer",
    "value": "string"
  }
}
Example Response
200 Successful Response
422 Validation Error

Vault Refund Authorization By Customer ID

post /v3/card/refund-auth/customer/{customer_id}

This method will allow you to process a Refund on the requested amount with an existing Customer ID (Token) from your Customer Database (Vault) at PayTrace. The amount will be refunded to the credit card account associated with the customer Id.

Parameters
customer_id required
integer

Loading...

X-Integrator-Id
string
Maximum:
12

Loading...

X-Permalinks
string
Maximum:
4

Loading...

Request Schema
amount required
number
Example:
80.55

Loading...

billing_address
object

Loading...

billing_name
string
Example:
Steve Smith

Loading...

csc
string329 to 359 characters
Example:
htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3 jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr 9WKv92V3M+H6Gsx7z0iCbn+8Ug==

Loading...

billing_email
string
Example:
email@domain.com

Loading...

billing_phone
string
Maximum:
20

Loading...

customer_reference_id
string
Maximum:
50
Example:
PO123456

Loading...

description
string
Example:
business services

Loading...

force_partial_auth_capability
boolean

Loading...

invoice_number
string
Example:
17

Loading...

merchant_id required
integer
Example:
246810

Loading...

custom_dba
string
Example:
Doing Business As Test Company

Loading...

return_clr
boolean
Example:
false

Loading...

customer_id
integer

Loading...

shipping_address
object

Loading...

shipping_name
string
Example:
Steve Smith

Loading...

tax_amount
string
Example:
2.16

Loading...

discretionary_data
array

Loading...

surcharge_info
object
Default:
[object Object]

Loading...

Example Request
{
  "amount": 80.55,
  "billing_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "billing_name": "Steve Smith",
  "csc": "htpAmr1TJ2hujwO/ObS8oFG3/AhF3AU0zh4QzgynFJejRxUOoyJ1MTXW54UD6F2cvuDCgLLMjY             u1K8ybAX/Ap4HvsthqdMz5lYhDj1GwcDBUnZQx+upD/8gZNUHnm5S4EZkAXMNT79iwLCd++X97yOatd3             jhjxaC0zdRUABYr6PuVEYa7gXTEO3LIiOuA/noLVhrD7ZPni8dnCluyIk2z2k6OwDdCYFwvgpuuZ/luRb             oG07uYBm1TfHnrLkuCGOxeP7B8Aa0rY1du7GFwXxYadI21AqrgM+DCJLfX156lil0gL4D/ZMQoTIr1hqDr            9WKv92V3M+H6Gsx7z0iCbn+8Ug==",
  "billing_email": "email@domain.com",
  "billing_phone": "string",
  "customer_reference_id": "PO123456",
  "description": "business services",
  "force_partial_auth_capability": "boolean",
  "invoice_number": "17",
  "merchant_id": 246810,
  "custom_dba": "Doing Business As Test Company",
  "customer_id": "integer",
  "shipping_address": {
    "street": "1 Main St.",
    "street2": "Suite 12",
    "city": "Spokane",
    "state": "WA",
    "country": "US",
    "postal_code": "85284",
    "county": "Oakland"
  },
  "shipping_name": "Steve Smith",
  "tax_amount": "2.16",
  "discretionary_data": {
    "disc_id": "integer",
    "value": "string"
  },
  "surcharge_info": {}
}
Example Response
200 Successful Response
422 Validation Error
©2025 North is a registered DBA of NorthAB, LLC. All rights reserved. North is a registered ISO of BMO Harris Bank N.A., Chicago, IL, Citizens Bank N.A., Providence, RI, The Bancorp Bank, Philadelphia, PA, FFB Bank, Fresno, CA, Wells Fargo Bank, N.A., Concord, CA, and PNC Bank, N.A.