Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
this is the method implementation for xpay token key generation.
secret = bytes(shared_secret, 'utf-8')
timestamp = str(timegm(datetime.datetime.utcnow().timetuple()))
pre_hash_string = bytes(timestamp + resource_path + query_string + body, 'utf-8')
print(pre_hash_string)
hash_string = hmac.new(secret, pre_hash_string, digestmod=hashlib.sha256).hexdigest()
x_pay_token = 'xv2:' + timestamp + ':' + hash_string
Below are the parameters for xpay token generation:
api_key = 'Z93UKQ5PDYB2W5H2YRD621kyUNDazyuhSJqh7T-rTRU0zsRxM'
shared_secret = 'E3K0YZ5XFG}6RarTa{Og1X-M2l{PqVnim@xIFKoH'
timeout = 10
query_string = "apiKey=" + api_key
resource_path = "forexrates/v2/foreignexchangerates"
body ='''{
"acquirerDetails": {
"bin": 408999,
"settlement": {
"currencyCode": "840"
}
},
"rateProductCode": "A",
"markupRate": "0.07",
"destinationCurrencyCode": "826",
"sourceAmount": "100.55",
"sourceCurrencyCode": "840"
}'''
databody = {
"acquirerDetails": {
"bin": 408999,
"settlement": {
"currencyCode": "840"
}
},
"rateProductCode": "A",
"markupRate": "0.07",
"destinationCurrencyCode": "826",
"sourceAmount": "100.55",
"sourceCurrencyCode": "840"
}
headers = {'x-pay-token': x_pay_token, 'accept':'application/json'}
response = requests.post(url + '?' + query_string,
headers=headers,
timeout=timeout,
data=databody
)
{'responseStatus': {'status': 401, 'code': '9159', 'severity': 'ERROR', 'message': 'Token Validation Failed', 'info': ''}}
Solved! Go to Solution
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Thank you for your question, @sakshi . An agent will get back to you as soon as possible. In the meantime, if any community member knows the solution, please reply to this thread! -Cathy
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Hi @sakshi,
I just ran a sandbox test today and received a successful request/response payload. Please see my successful sample request/response below when I used the VDP Playground tool. Please try the test again and share your result with us.
End Point https://sandbox.api.visa.com/forexrates/v2/foreignexchangerates
Method POST
Request
{
"acquirerDetails": {
"bin": 408999,
"settlement": {"currencyCode": "840"}
},
"rateProductCode": "A",
"markupRate": "0.07",
"destinationCurrencyCode": "826",
"sourceAmount": "100.55",
"sourceCurrencyCode": "840"
}
Response
{
"rateProductCode": "A",
"acquirerDetails": {"settlement": {
"amount": "100.48",
"currencyCode": "840",
"conversionRate": "1.000000"
}},
"sourceAmountWithoutMarkup": "100.48",
"conversionRate": "0.7683121",
"destinationAmount": "77.20",
"markupRateApplied": "0.07"
}
Response Header
Status Code: 200 OK
Server : nginx
Date : Mon, 07 Feb 2022 18:08:48 GMT
Content-Type : application/json;charset=UTF-8
Content-Length : 246
Connection : keep-alive
X-SERVED-BY : l55c018
X-CORRELATION-ID : 1644257327_825_1884125905_l55c018_VDP_WS
X-APP-STATUS : 200
Content-Language : en-US
Cache-Control : no-cache, no-store, must-revalidate
X-Frame-Options : SAMEORIGIN
Pragma : no-cache
Expires : -1
X-XSS-Protection : 1; mode=block
X-Content-Type-Options : nosniff
Strict-Transport-Security : max-age=31536000;includeSubdomains;always
Below are the user guides for the tools that you can use to test the API.
VDP Playground – https://community.developer.visa.com/t5/Developer-Tools/How-to-test-and-troubleshoot-APIs-with-the-V...
Postman – https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl#testing_twoway_ssl_connectivity_...
SOAP UI – https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl#testing_twoway_ssl_connectivity_...
Please refer to our Visa Developer Error Codes page for error codes and how to fix them here - https://developer.visa.com/pages/visa-developer-error-codes
If the issue persists, please provide the following information:
1. Endpoint
2. Request Header
3. Request Body
4. Response Header (include the x-correlation-id)
5. Response Body
Using SoapUI, you can find the x-correlation-id in the Raw Tab of the response header.
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Thanks Diana for the reply. But it seems you ain't using x-pay-token (where I'm currently stuck at!)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
These are my response headers
{'Server': 'nginx', 'Date': 'Mon, 07 Feb 2022 19:41:15 GMT', 'Content-Type': 'application/json', 'Content-Length': '112', 'Connection': 'keep-alive', 'X-SERVED-BY': 'l73c014', 'X-CORRELATION-ID': '1644262875_792_840475295_l73c014_VDP_WS', 'x-vdp-normalized-url': '/forexrates/v2/foreignexchangerates', 'X-APP-STATUS': '401', 'x-vdp-authn-api-visa-id': 'FX.100', 'X-ERROR-ORIGIN': '9100', 'X-Frame-Options': 'SAMEORIGIN', 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Expires': '-1'}
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Hi @sakshi,
I did not use x-pay token. I used two-way SSL. The Foreign Exchange Rates authentication method is two-way SSL. Please use two-way SSL, test again and share your result with us. Here's the page link to the FX Rates authentication method: https://developer.visa.com/capabilities/foreign_exchange/docs-authentication
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Hi @sakshi,
Using the VDP Playground, I ran a sandbox test on FX Rates using x-pay token and received a successful request/response payload. Please see the sample request/response payload below. Try your test again and share your result with us.
End Point https://sandbox.api.visa.com/forexrates/v2/foreignexchangerates?apikey=P3WS07BT1O77E6W7EMHP21XbtZgvg...
Method POST
Request
{
"acquirerDetails": {
"bin": 408999,
"settlement": {"currencyCode": "840"}
},
"rateProductCode": "A",
"markupRate": "0.07",
"destinationCurrencyCode": "826",
"sourceAmount": "100.55",
"sourceCurrencyCode": "840"
}
Response
{
"rateProductCode": "A",
"acquirerDetails": {"settlement": {
"amount": "100.48",
"currencyCode": "840",
"conversionRate": "1.000000"
}},
"sourceAmountWithoutMarkup": "100.48",
"conversionRate": "0.7683121",
"destinationAmount": "77.20",
"markupRateApplied": "0.07"
}
Response Header
Status Code: 200 OK
Server : nginx
Date : Thu, 10 Feb 2022 19:14:00 GMT
Content-Type : application/json;charset=UTF-8
Content-Length : 246
Connection : keep-alive
X-SERVED-BY : f48d6589
X-CORRELATION-ID : 1644520440_678_886357006_f48d6589_VDP_WS
X-APP-STATUS : 200
Content-Language : en-US
Cache-Control : no-cache, no-store, must-revalidate
X-Frame-Options : SAMEORIGIN
X-XSS-Protection : 1; mode=block
X-Content-Type-Options : nosniff
Strict-Transport-Security : max-age=31536000;includeSubdomains
Pragma : no-cache
Expires : -1
X-XSS-Protection : 1; mode=block
X-Content-Type-Options : nosniff
Strict-Transport-Security : max-age=31536000;includeSubdomains;always
Thanks,
Diana
Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Hi! Need help with xpay token generation foreignexchangerates (v2) api
Hi @sakshi,
We only have the sample code that is available to you in your project under the Assets tab on the left side menu. Refer to sample screenshot below for reference.