So, after many days I was able to solve this problem. I was able to send transaction from one customer having (NGN) to another Customer who received it in (USD).
For others who may likely face similar problem in the future, this are the steps I took to solve this problem.
Step 1
I created offers for all the currencies. see example request and response below
{
"method": "submit",
"params": [
{
"offline": false,
"secret": "snYothV5CFDMpMYStmL5VwMHzxHFr",
"fee_mult_max": 1000,
"tx_json": {
"TakerGets": {
"currency": "EUR",
"value": "0.94",
"issuer": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk"
},
"TakerPays": {
"currency": "USD",
"value": "1",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ"
},
"Account": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"TransactionType": "OfferCreate",
"Fee": "12",
"Flags": "65536"
}
}
]
}
and sample response
{
"result": {
"engine_result": "tesSUCCESS",
"engine_result_code": 0,
"engine_result_message": "The transaction was applied. Only final in a validated ledger.",
"status": "success",
"tx_blob": "1200072200010000240000001764D4838D7EA4C68000000000000000000000000000555344000000000045249D498FF76EF67DACD0958930DB02EE4A9D4465D46165400CE380000000000000000000000000004555520000000000C260B3831882A44608EE81C2F3726AA72D11CA9568400000000000000C732102272E391673B735C9D96435DAFF89F9EA7B4EC285C39643A754848EDE19A6542674473045022100CD7511B302ED7D0C299C0F2C1014EA5AA62F7584B361B940C0E8A98FBA04EDE10220047590E7A678818000B5B221EBBC3D21AB1FCE5C003F8F02AAC41F96D054F90A8114C260B3831882A44608EE81C2F3726AA72D11CA95",
"tx_json": {
"Account": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"Fee": "12",
"Flags": 65536,
"Sequence": 23,
"SigningPubKey": "02272E391673B735C9D96435DAFF89F9EA7B4EC285C39643A754848EDE19A65426",
"TakerGets": {
"currency": "EUR",
"issuer": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"value": "0.94"
},
"TakerPays": {
"currency": "USD",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"value": "1"
},
"TransactionType": "OfferCreate",
"TxnSignature": "3045022100CD7511B302ED7D0C299C0F2C1014EA5AA62F7584B361B940C0E8A98FBA04EDE10220047590E7A678818000B5B221EBBC3D21AB1FCE5C003F8F02AAC41F96D054F90A",
"hash": "C35F98185CEBD03EEBCBDB6BB4364288DD8A0EDCF6FE137E9E3950524353AC8B"
}
}
}
Step 2
I Did a find path to get the path to use in sending the transaction, based on the offers earlier created in step 1
{
"method": "ripple_path_find",
"params": [
{
"source_account": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"source_currencies": [
{
"currency": "XRP"
},
{
"currency": "USD"
}
],
"destination_amount": {
"currency": "NGN",
"value": "305",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD"
},
"destination_account": "rwRRz7yt7GXe2NjZjB9ruLs7r71fi1WNpQ",
"SendMax": {
"currency": "USD",
"value": "1",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ"
}
}
]
}
Sample Response
{
"result": {
"alternatives": [
{
"paths_canonical": [],
"paths_computed": [
[
{
"account": "rntHFZfVgoCeBNYDxSejkPewViFow1Sz6r",
"type": 1,
"type_hex": "0000000000000001"
},
{
"account": "rJHPyhod8HuZhps6Gerf7t3yLfinpVLXNT",
"type": 1,
"type_hex": "0000000000000001"
},
{
"currency": "NGN",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"type": 48,
"type_hex": "0000000000000030"
}
],
[
{
"currency": "EUR",
"issuer": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"type": 48,
"type_hex": "0000000000000030"
},
{
"currency": "NGN",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"type": 48,
"type_hex": "0000000000000030"
}
]
],
"source_amount": {
"currency": "USD",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"value": "1"
}
}
],
"destination_account": "rwRRz7yt7GXe2NjZjB9ruLs7r71fi1WNpQ",
"destination_amount": {
"currency": "NGN",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"value": "305"
},
"destination_currencies": [
"NGN",
"XRP"
],
"full_reply": true,
"ledger_current_index": 3,
"source_account": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"status": "success",
"validated": false
}
}
Step 3
I used one of the paths returned in the response from above to send payment request.
Sample Request
{
"method": "submit",
"params": [
{
"offline": false,
"secret": "sn1GPS42vNZXg6GYrsSXxYv2VrbkG",
"fee_mult_max": 100000,
"tx_json": {
"Amount": {
"currency": "NGN",
"value": "305",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD"
},
"Account": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"Destination": "rwRRz7yt7GXe2NjZjB9ruLs7r71fi1WNpQ",
"TransactionType": "Payment",
"Fee": "10",
"Flags": "0",
"Paths": [
[
{
"type_hex": "0000000000000030",
"issuer": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"type": "48",
"currency": "EUR"
},
{
"type_hex": "0000000000000030",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"type": "48",
"currency": "NGN"
}
]
],
"SendMax": {
"currency": "USD",
"value": "1",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ"
}
}
}
]
}
Sample Response
{
"result": {
"engine_result": "tesSUCCESS",
"engine_result_code": 0,
"engine_result_message": "The transaction was applied. Only final in a validated ledger.",
"status": "success",
"tx_blob": "1200002200000000240000000461D50AD5F57690A0000000000000000000000000004E474E00000000009B0C47828166D6258E8E7F0AA3B464FEA9C17E6668400000000000000A69D4838D7EA4C68000000000000000000000000000555344000000000045249D498FF76EF67DACD0958930DB02EE4A9D4473210336DF52033C6AE8F955A8AE89CE32793C0DB54A3DA2477A0F769EA9A4320D754D74463044022019DBE3D2C7ADF58AD35F1924889B8612EC46E8421492BDC591D50EEABCBC0BA9022046F9D34D8DAF24698B3B5A973AB575E5901A1C14EB80E8ABDC25B0D8010F0983811445249D498FF76EF67DACD0958930DB02EE4A9D4483146757FA04E0212B971F7F76E3E4A85A1B280EAE770112300000000000000000000000004555520000000000C260B3831882A44608EE81C2F3726AA72D11CA95300000000000000000000000004E474E00000000009B0C47828166D6258E8E7F0AA3B464FEA9C17E6600",
"tx_json": {
"Account": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"Amount": {
"currency": "NGN",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"value": "305"
},
"Destination": "rwRRz7yt7GXe2NjZjB9ruLs7r71fi1WNpQ",
"Fee": "10",
"Flags": 0,
"Paths": [
[
{
"currency": "EUR",
"issuer": "rJ5mA3kRwJWahdb3GqH3vmrbRd7eVufsVk",
"type": 48,
"type_hex": "0000000000000030"
},
{
"currency": "NGN",
"issuer": "rE3FSvB4Q59WZUXcDyB8tgAFBTZMwCJ1FD",
"type": 48,
"type_hex": "0000000000000030"
}
]
],
"SendMax": {
"currency": "USD",
"issuer": "rfJbVE7tTrkbmuqTBvhdYDRExp9oamTzrQ",
"value": "1"
},
"Sequence": 4,
"SigningPubKey": "0336DF52033C6AE8F955A8AE89CE32793C0DB54A3DA2477A0F769EA9A4320D754D",
"TransactionType": "Payment",
"TxnSignature": "3044022019DBE3D2C7ADF58AD35F1924889B8612EC46E8421492BDC591D50EEABCBC0BA9022046F9D34D8DAF24698B3B5A973AB575E5901A1C14EB80E8ABDC25B0D8010F0983",
"hash": "58906C7DEFCF60ED6AC55A646BE3BF50E32F7B633AC6CD62E1AA6799888AA5EA"
}
}
}